生产者消费者模型一般用于将复杂的业务逻辑,多个线程来同时处理以提升系统的运行效率,典型的案例就是阻塞队列。
1、BlockingQueue介绍
阻塞队列 (BlockingQueue)是Java util.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满,线程将会阻塞等待直到队列非满;从阻塞队列取数据时,如果队列已空,线程将会阻塞等待直到队列非空。并发包下很多高级同步类的实现都是基于BlockingQueue实现的。
参考:https://blog.csdn.net/tomcat_2014/article/details/60135152
2、BlockingQueue中的方法
BlockingQueue是Queue的子接口,BlockingQueue中特有的方法:
(1)void put(E e) throws InterruptedException
把e添加进BlockingQueue中,如果BlockingQueue中没有空间,则调用线程被阻塞,进入等待状态,直到BlockingQueue中有空间再继续
(2)void take() throws In
本文介绍了Java并发编程中使用BlockingQueue实现生产者-消费者模式。 BlockingQueue是一个线程安全的数据结构,提供在队列满时阻塞插入操作,队列空时阻塞删除操作的能力。文中详细解释了BlockingQueue的关键方法,如put、take和drainTo,并给出了代码示例和执行结果。
订阅专栏 解锁全文

1269

被折叠的 条评论
为什么被折叠?



