摘要: 序 死锁在平时开发,尤其是多并发编程时是要避免,不过要自己刻意写个死锁还不一定容易,下面参考别人代码写一个 代码 说明 o1、o2是static类型属于整个累,所以当定义deadLock1、deadLock2时是公用o1、o2的 deadLock1设置flag=1,先锁住o1,然后睡800ms,此时 阅读全文
posted @ 2019-03-31 22:38 jihite 阅读(3304) 评论(0) 推荐(0) 编辑
摘要: 介绍 DK1.5之后,提供了读写锁ReentrantReadWriteLock,读写锁维护了一对锁:一个读锁,一个写锁。通过分离读锁和写锁,使得并发性相比一般的排他锁有了很大提升。在读多写少的情况下,读写锁能够提供比排他锁更好的并发性和吞吐量。 源码定义 code 测试1 输出 结论:读读共享 测试 阅读全文
posted @ 2019-03-31 20:05 jihite 阅读(1063) 评论(0) 推荐(0) 编辑
摘要: 原理 生产者在仓库没有满的时候进行生产,满了后等待 消费者在仓库有存货事新型消费,没货是等待 示例 #Phone public class Phone { private int id; public Phone() { id = new Random().nextInt(); } public i 阅读全文
posted @ 2019-03-31 12:27 jihite 阅读(218) 评论(0) 推荐(0) 编辑