Класс A имеет 2 метода синхронизации в Java, класс B имеет два метода статической синхронизации, разрешено ли двум потокам обращаться к этим двум сценариям - PullRequest
0 голосов
/ 24 июня 2011
public class ThreadTest {
     public static synchronized void m2() {
         System.out.println("static sync m2");
         System.out.println("current"+Thread.currentThread());
         try { Thread.sleep(2000); }
         catch (InterruptedException ie) {}
     }

    public static void main(String[] args) throws InterruptedException {
        Thread t3 = new Thread() {
            public void run() {
                ThreadTest.m2();
            }
        };
        t3.start();
        t3.sleep(2000);
        Thread.sleep(500); // which thread are we sleeping here?
        System.out.println("t3.getState"+t3.getState());
    }
}

Если мы создадим другой поток t1 и получим доступ к ThreadTest.m2 ();внутри этого?да, это будет разрешено, почему это статично, и это уровень класса.Но если у нас есть нестатические методы, то потокам 1 и 2 не разрешен доступ к методу

1 Ответ

0 голосов
/ 24 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...