java多线程同步工具之Exchanger
来源:互联网 发布:港股交易软件 编辑:程序博客网 时间:2024/06/06 01:21
Exchanger用于实现两个人之间的数据交换,每个人在完成一定的事物后想与对方交换数据,第一个先拿出数据的人将一直等待第二个人拿着数据到来时,才能彼此交换数据。
案例:
public class ExchangerTest {public static void main(String[] args) {/* 创建缓存型线程池 */ExecutorService service = Executors.newCachedThreadPool();/* 创建爱你Exchanger对象 */final Exchanger exchanger = new Exchanger();service.execute(new Runnable() {public void run() {try {String data1 = "胡锦涛";System.out.println("线程" + Thread.currentThread().getName() + "正在把数据" + data1 + "换出去");/*休眠*/Thread.sleep((long) (Math.random() * 10000));/*交换数据*/String data2 = (String) exchanger.exchange(data1);System.out.println("线程" + Thread.currentThread().getName() + "换回的数据为" + data2);} catch (Exception e) {}}});service.execute(new Runnable() {public void run() {try {String data1 = "习近平";System.out.println("线程" + Thread.currentThread().getName() + "正在把数据" + data1 + "换出去");/*休眠*/Thread.sleep((long) (Math.random() * 10000));/*交换数据*/String data2 = (String) exchanger.exchange(data1);System.out.println("线程" + Thread.currentThread().getName() + "换回的数据为" + data2);} catch (Exception e) {}}});}}
程序运行的结果:
0 0
- java多线程同步工具之Exchanger
- java同步工具类之Exchanger
- 多线程编程入门(18):线程同步工具之Exchanger
- Java多线程之Exchanger
- JAVA多线程之Exchanger
- Java多线程之Exchanger
- Java多线程之Exchanger
- java多线程之Exchanger
- java 多线程之Exchanger
- Java5 多线程(七)--Exchanger同步工具类
- java多线程之(Exchanger)
- (十二)java多线程之Exchanger
- java多线程:14、Exchanger同步辅助类
- 【Java多线程与并发库】15.java5的Exchanger同步工具
- 同步工具Exchanger
- 17_张孝祥_多线程_同步工具Exchanger
- Java多线程之Exchanger(一)
- Java基础:多线程之CountDownLatch、CyclicBarrier、Exchanger
- 我的第一篇编程日志——初始化问题
- 几个开源日志分析系统介绍
- Caching Bitmaps缓存bitmaps(Android官方文档翻译三)
- Python常用函数
- 关于登录功能的那些事
- java多线程同步工具之Exchanger
- visit_tree
- 设计模式(21)-行为型模式-Strategy模式
- WP下MD5加密
- Spring核心技术
- PHP导出Excel最简单的方法
- 【Heritrix基础教程之3】Heritrix的基本架构
- css3 -> 多栏布局
- Android画图Path的使用