- 浏览: 1222 次
- 性别:
- 来自: 广州
最新评论
文章列表
JDK:1.8
背景:
当我测试多生产和多消费 操作值-假死时,分别两个生产和消费线程,每个线程内循环两次相应方法
问题:
打印日志 发现,消费2有一次 wait 在未唤醒时就接着往下执行了,不知道这是为什么?
先把测试代码附上
日志中始终有
消费者2 WAITING 0 解除 value=null
消费者2 WAITING 1
正常解除 value后面是有值的,这次却没有,虽然没影响功能,但感到很奇怪。
/**
* 3.1.11.2 多生产和多消费 操作值-假死
* Created by ironlee on 17/12/23.
*/
public class Produce ...
我看的书作者:高洪岩
书版本:2015年11月第1版第3次印刷
问题概述:
3.1.10 主要讲解 等待wait的条件发生变化的场景
为了方便起见,我就不照抄书中原码了,我用我自己的代码 就是一个main方法 我用的jdk1.6
public static void main(String[] args) throws InterruptedException {
final List<String> list = new ArrayList<String>();
final Object lock = new Object( ...