java多线程:16、阻塞队列【BlockingQueue】实现线程数据共享的效果
来源:互联网 发布:最具潜力的淘宝商品 编辑:程序博客网 时间:2024/06/05 07:15
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;/** *阻塞队列BlockingQueue 实现线程通信的效果 *A、B连个线程交替执行任务 */public class ThreadTest2 { public static void main(String[] args) { final OutputUtil output=new OutputUtil(); new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub while(true){ output.main(); } } }).start(); new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub while(true){ output.child(); } } }).start(); } static class OutputUtil{ private BlockingQueue<Integer> bq1=new ArrayBlockingQueue<>(1), bq2=new ArrayBlockingQueue<>(1); /** * 匿名构造方法:执行构造方式前先执行匿名构造方法 */ { try { bq2.put(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void main(){ try { bq1.put(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } for(int i=1;i<=10;i++){ System.out.println(Thread.currentThread().getName()+":"+i); } try { bq2.take(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void child(){ try { bq2.put(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } for(int i=1;i<=10;i++){ System.out.println(Thread.currentThread().getName()+":"+i); } try { bq1.take(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
0 0
- java多线程:16、阻塞队列【BlockingQueue】实现线程数据共享的效果
- Java多线程-阻塞队列BlockingQueue
- BlockingQueue 阻塞队列 -- Java 多线程
- java多线程-BlockingQueue(阻塞队列)
- Java多线程-BlockingQueue(阻塞队列)
- Java线程:阻塞队列BlockingQueue
- Java线程(十三):BlockingQueue-线程的阻塞队列
- Java线程(十三):BlockingQueue-线程的阻塞队列
- Java使用阻塞队列BlockingQueue实现线程同步
- java的阻塞队列blockingqueue
- java多线程之阻塞队列BlockingQueue的简单应用
- java多线程:15、阻塞队列【BlockingQueue】
- Java多线程/并发26、阻塞队列BlockingQueue
- Java线程(篇外篇):阻塞队列BlockingQueue
- Java线程(七):阻塞队列BlockingQueue
- Java线程(篇外篇):阻塞队列BlockingQueue
- Java线程(篇外篇):阻塞队列BlockingQueue
- Java线程(篇外篇):阻塞队列BlockingQueue
- Markdown输入Latex公式的特殊符号
- Java虚拟机--分析Java堆(十一)
- drupal文档
- 自己写的一个ajax联动
- 如何在Eclipse下查看JDK源代码以及java源代码阅读方法
- java多线程:16、阻塞队列【BlockingQueue】实现线程数据共享的效果
- 笔记(4月8日)
- JAVA compareTo实现treeSet()排序
- 马尔科夫链
- js原生倒计时
- 从最大似然到EM算法浅解
- vim configuration
- unity3d(2)中简单的数学知识
- Java虚拟机--String在虚拟机中的实现(十二)