同步问题
public class SynTest extends Thread{
Timer t=new Timer();
public static void main(String[]args){
SynTest s1=new SynTest();
SynTest s2=new SynTest();
s1.start();
s2.start();
}
public void run(){
t.add();
}
}
class Timer{
static Object o=new Object();
private static int num=0;
public void add(){
synchronized(o){
num++;
try{
Thread.sleep(100);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("you are"+num+"ss");
}
}
}
这样写可以实现同步,但是如果把同步对象换成this的话却不可以,我觉得这里应该可以,不知道到底是什么原因?