两个线程交替打印0-100,这种情况产生的原因是什么?

来源:7-7 交替打印

lemon_2021

2020-03-14

本应该是 count <= 100 我写成了count < 100
导致count++后,count变成了100,没有去wait()当前线程
我debug发现,这种情况下,两个线程都是running状态,这时候应该是两个线程同时去抢占资源,但是执行了好几次每次都还是Thread-1打印了100
老师这是什么原因呢?

写回答

1回答

悟空

2020-03-14

没有wait当前线程没有关系,它会继续循环。是两个线程同时抢的。至于谁能抢到,这个是都有可能的。

0
3
悟空
回复
Kyran666
退出同步代码块的时候,会释放锁
2020-07-13
共3条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程