fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. static Ideone object = new Ideone();
  11.  
  12. static Runnable objectRunnable = new Runnable() {
  13. public void run() {
  14. synchronized(object) {
  15. for (int i = 0; i < 5; i++) {
  16. System.out.println("it's runnable");
  17. try {
  18. Thread.sleep(100);
  19. } catch (Exception e) {}
  20. }
  21. }
  22. }
  23. };
  24.  
  25. void doSomething() {
  26. synchronized(object) {
  27. for (int i = 0; i < 5; i++) {
  28. System.out.println("it's doSomething");
  29. try {
  30. Thread.sleep(100);
  31. } catch (Exception e) {}
  32. }
  33. }
  34. }
  35.  
  36.  
  37. public static void main (String[] args) throws java.lang.Exception
  38. {
  39. synchronized (object) {
  40. new Thread(objectRunnable).start();
  41. }
  42. try {
  43. Thread.sleep(100);
  44. } catch (Exception e) {}
  45.  
  46. object.doSomething();
  47. }
  48. }
Success #stdin #stdout 0.04s 320896KB
stdin
Standard input is empty
stdout
it's runnable
it's runnable
it's runnable
it's runnable
it's runnable
it's doSomething
it's doSomething
it's doSomething
it's doSomething
it's doSomething