public class Test extends Thread {
char name;
Test(char a) { name = a; }
public synchronized void run() {
for (int i=0; i<3; i++) {
System.out.print(name);
}
}
public static void main(String[] args) {
new Test('A').start();
new Test('B').start();
new Test('C').start();
}
}
synchronized的作用不是让同时间只能一个thread执行method吗?
因此某个thread进入run()执行后
for循环三次应该要跑完才会被其他thread抢到执行权吗?
想请问为何run()加了synchronized
还是会得到 AACCCBBBA 这样的输出
先谢谢各位的解答了~