锁的竞争和唤醒疑问
消费的时候会看number是否大于0 如果等于0会解锁然后等待
生产的时候如果生产好了会唤醒前面阻塞的消费者线程
逻辑ok,但是有个疑问 图2中的2个方括号的位置,消费的时候会先lock然后
看number=0 就等待,同时解锁了,如果线程被唤醒后,代码还是从这里开始运行
那这个锁不是一直是开着的么,lock的锁定逻辑在wait上面,那竞争锁的逻辑在哪?
29
收起
正在回答 回答被采纳积分+1
1回答
物联网/嵌入式工程师
- 参与学习 394 人
- 提交作业 22956 份
- 解答问题 1165 个
行业热门,政策风口,人才缺口极大,现在入场时机正好! 上千人检验,数轮迭代的硬核知识体系,软硬件通吃 保姆式教学+简历指导+1V1模拟面试+3次内推,助力轻松就业!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星