摘要: 线程通信 图片来源:尚学堂ppt 线程通信模型 管程法 案例一 没有加线程通信: 情景设置:工厂(生产者)生产馒头,仓库(缓冲器)存储馒头,商店(消费者)从仓库取走馒头,加线程安全,不加线程通信 package _20191206; /** * 生产者消费者模型:管程法 * @author TEDU 阅读全文
posted @ 2019-12-06 14:22 Scorpicat 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一线程持有a资源,需要获取b资源才释放a资源。 二线程持有b资源,需要获取a资源才释放b资源。 造成死锁。 下面举个例子: 两个女人化妆,需要镜子和口红,两个人一个先拿镜子,再拿口红,另一个先拿口红,再拿镜子 /** * @author TEDU * 死锁出现的情况多是锁套锁。 */ public 阅读全文
posted @ 2019-12-06 13:42 Scorpicat 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 在java中,有一个专门用来处理并发容器的包:java.util.concurrent 包,其中有一个CopyOnWriteArrayList类,相当于ArrayList的线程安全版。 我们可以使用它代替ArrayList,就无需加synchronized来锁线程了。 注:本节内容了解即可(面试用) 阅读全文
posted @ 2019-12-06 12:18 Scorpicat 阅读(126) 评论(0) 推荐(0) 编辑