并发编程
文章平均质量分 56
MAC完美
Read The Fucking Source Code
展开
-
(第10天)每日源码调试之旅--生产者与消费者模型实现
今天来看昨天实现的生产者与消费者模型的优化,昨天实现的方案的缺点在于仓库存取产品只能让一个线程来存取,其他线程需要等待仓库的锁,并且产品的生产和消费过程也需要获取仓库的锁才能进行,现在来看一个优化后者的方案,即将产品的生产和消费过程进行剥离,让其不需要占用仓库锁,从而提高线程的效率。 开始调试,首先进入main方法: 此处与昨天一样,先新建仓库,生产者和消费者的实例,然后开启生产者和消费者...原创 2018-11-24 20:17:29 · 95 阅读 · 0 评论 -
(第11天)每日源码调试之旅--生产者与消费者模型实现
今天来看生产者与消费者模型实现最终优化方案,也是最流行的一种实现,即采用LinkedBlockingQueue的实现方式: 开始调试: main方法中与之前的不同之处是产品仓库采用LinkedBlockingQueue模拟了一个100容量的仓库,其他没有区别,直接进入生产者线程: 此处与之前的优化方案不同之处在于产品放入仓库的方法,直接将产品存入LinkedBlockingQ...原创 2018-11-25 14:09:14 · 247 阅读 · 0 评论