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 не разрешен доступ к методу