博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生产者消费者
阅读量:7153 次
发布时间:2019-06-29

本文共 1402 字,大约阅读时间需要 4 分钟。

示例代码:

package model;import java.util.Arrays;import java.util.List;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;class 生产者 implements Runnable{        private BlockingQueue
drop; private List
messages =Arrays.asList("aaaaa","bbbbb","ccccc","ddddd","eeeee"); public 生产者(BlockingQueue
d){ this.drop=d; } public void run() { try { for(String s:messages){ System.out.println("--------------"+s); drop.put(s); } drop.put("完成"); } catch (Exception e) { e.printStackTrace(); } } }class 消费者 implements Runnable{ private BlockingQueue
drop; public 消费者(BlockingQueue
d){ this.drop=d; } public void run() { try { String msg; while(!((msg = drop.take()).equals("完成"))){ System.out.println(msg); } } catch (Exception e) { e.printStackTrace(); } } }public class 生产者消费者 { public static void main(String[] args) { BlockingQueue
drop=new ArrayBlockingQueue
(3,true); new Thread(new 生产者(drop)).start(); new Thread(new 消费者(drop)).start(); } }

 

转载于:https://www.cnblogs.com/gscq073240/articles/7260436.html

你可能感兴趣的文章
Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向...
查看>>
基于opencv的小波变换
查看>>
JS产生随机数的几个用法!
查看>>
Android开发UI之ViewPager及PagerAdapter
查看>>
浏览器默认样式(User Agent Stylesheet)
查看>>
C语言宏定义技巧
查看>>
所有Mac用户都需要知道的9个实用终端命令行
查看>>
Java Persistence with MyBatis 3(中国版) 第五章 与Spring集成
查看>>
Java虚拟机详解04----GC算法和种类【重要】
查看>>
Receiver type for instance message is a forward
查看>>
将SALT_STACK的JOB-CACHE放到数据库中,而建库用DJANGO的ORM完成
查看>>
GPIO推挽输出和开漏输出详解
查看>>
事务处理和并发控制
查看>>
I18N、L10N、G11N
查看>>
引用类中的enum
查看>>
【转】Android开源项目发现---ListView篇(持续更新)
查看>>
利用锚点制作简单索引效果
查看>>
影响网站打开速度的9大因素
查看>>
HTML5之废弃和更新的元素与属性
查看>>
[转]asp.net解决高并发的方案.
查看>>