1这个随机的问题,每个电脑不一样
Thread-0一直占用,其他线程就没法进来,可以用Thread.sleep()延迟下
2出现0是因为
while(tick>0){
如果这里thread-2和thread-3,thread-1都先运行到这里,只有thread-1往下执行了
当thread1执行到tick=0时,
thread-2和thread-3在进入锁,就会出现负数
synchronized (a) {
System.out.println(Thread.currentThread().getName()+"run"+tick--);
}
} |