Java并发编程入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

生产者消费者

生产者消费者模型最早出现在操作系统的多道程序设计中。到这里我们发现在并发程序设计中经常使用的就是操作系统的思想,这也体现出了计算机基础专业课程的重要性,在这些课程中我们可以学到很多重要的思想。

什么是生产者消费者呢?

该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。

在这里我们会用到一些工具:

1.BlockingQueue:这个类是一个在并发下安全的队列

2.ExecutorService threadPool = Executors.newCachedThreadPool();线程池的另一种实现。

因为JDK提供了线程的包,我们可以不用太关注于太复杂的并发问题。那么请使用这两个工具试着实现生产者消费者模型吧。这个程序算是并发编程的综合应用,对并发的思想有一定的了解会写出来这个程序的。

实现一个生产者消费者模型