我正在使用Java进行同步。我写了下面的代码,使用了synced关键字。它应该先运行t1,然后运行t2。但是t1和t2都同时运行。我不明白原因,为什么即使使用synced关键字,两者都可以同时运行。
public class DemoClass extends Thread {
public static void main(String[] args){
DemoClass dm1 = new DemoClass();
DemoClass dm2 = new DemoClass();
Thread t1 = new Thread(dm1);
Thread t2 = new Thread(dm2);
t1.start();
t2.start();
}
public void run(){
printTabel();
}
synchronized void printTabel(){
for(int i=0;i<5;i++){
System.out.println("i value is " + i);
try{
Thread.sleep(1000);
}catch (InterruptedException e){
}
}
}
}