BlockingQueue的一个小例子
来源:互联网 发布:小超市收款软件 编辑:程序博客网 时间:2024/06/14 07:50
生产者:
package test.a;
import java.util.concurrent.BlockingQueue;
public class Consumer implements Runnable {
private final BlockingQueue queue;
Consumer(BlockingQueue q) {
queue = q;
}
public void run() {
try {
for(int i=0;i<10;i++){
consume(queue.take());
}
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
void consume(Object x) {
System.out.println(x);
}
}
消费者:
package test.a;
import java.util.concurrent.BlockingQueue;
public class Producer implements Runnable {
private final BlockingQueue queue;
Producer(BlockingQueue q) {
queue = q;
}
public void run() {
try {
for(int i=0;i<10;i++){
queue.put(produce(i));
}
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
Object produce(int i) throws InterruptedException {
return "queue"+i;
}
}
package test.a;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import test.Consumer;
import test.Producer;
public class Setup {
public static void main(String[] args) {
BlockingQueue q = new ArrayBlockingQueue(10);
// Producer p = new Producer(q);
// Consumer c1 = new Consumer(q);
// Consumer c2 = new Consumer(q);
// new Thread(c2).start();
// new Thread(p).start();
// new Thread(c1).start();
Consumer consumer = new Consumer(q);
Producer producer = new Producer(q);
service.submit(producer);
service.submit(consumer);
service.shutdown();
}
}
- BlockingQueue的一个小例子
- ExecutorService和BlockingQueue的小例子
- 一个小的例子
- 一个验证的小例子
- spss的一个小例子
- 一个JNI的小例子
- 一个JDBC的小例子
- SwingWorker的一个小例子
- 一个dwr的小例子
- wstring的一个小例子
- python的一个小例子
- ScrollableResults的一个小例子
- RSS的一个小例子
- 一个jQ的小例子
- 多线程的一个小例子
- 一个ExpandableListActivity的小例子
- 一个OpenGL的小例子
- 一个SQLite3的小例子
- 制作较复杂的电路板
- main()、main(void)、int main()、int main(void)、void main()、void main(void)
- 类似360的轨迹加密功能
- JAVA面试题(搞笑)
- Hibernate使用JNDI连接Oracle数据库
- BlockingQueue的一个小例子
- Hello,world!
- Extjs 插件spket安装指南
- extjs 开发配置环境
- tremulous
- 新浪微博开放平台PHP 类 WeiboClient 说明
- 浅入浅出触发器
- Linux学习笔记(三)
- android开发 音乐,文件下载