public class TT implements Runnable {
int b = 100;
public synchronized void m1() throws Exception{
b = 1000;
Thread.sleep(5000);
System.out.println("b = " + b);
}
public synchronized void m2() throws Exception {
Thread.sleep(2500);
b = 2000;
}
public void run() {
try {
m1();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
TT tt = new TT();
Thread t = new Thread(tt);
t.start();
tt.m2();
System.out.println("main======"+tt.b);
}
}
----------------------------------------
1.我想问的是两个线程会同时 一个访问M1方法,一个访问M2方法。还是别的?
2.当类中有synchronized修饰的方法时,两个线程同时访问两个方法 只能先执行一个方法吗,待这个锁解开了,才执行另一个方法,还是两个能同时访问?
最好能给我回答下,越详细越好。我不是太懂 |