Java Exchanger
来源:互联网 发布:机加工成本核算软件 编辑:程序博客网 时间:2024/05/21 09:05
简介
使两个线程之间传输数据,可以传输任意的数据类型
exchange()阻塞特性
调用exchange方法后盖线程会等待其他线程来交换数据,一直阻塞等待下去,直到来交换获取
public static void main(String[] args) { Exchanger exchanger = new Exchanger(); ExchangerThreadA exchangerThreadA = new ExchangerThreadA(exchanger); exchangerThreadA.start(); //ExchangerThreadB exchangerThreadB = new ExchangerThreadB(exchanger); //exchangerThreadB.start(); System.out.println("main end");}/****************/public class ExchangerThreadA extends Thread { Exchanger<String> exchanger; public ExchangerThreadA(Exchanger<String> exchanger) { this.exchanger = exchanger; } @Override public void run() { try { System.out.println("in Thread A get Thread B value " + exchanger.exchange("i come from Thread A")); System.out.println("end "); } catch (InterruptedException e) { } }}
重载方法
public V exchange(V x, long timeout, TimeUnit unit) throws InterruptedException, TimeoutException
在超出时间没有线程来交换/获取的话,那么就会出现超时异常,进入catch 中,在另一种角度来说算是一种解决一直等待浪费线程的问题吧
阅读全文
0 0
- Java Exchanger
- Java Exchanger
- Java多线程之Exchanger
- Java线程之Exchanger
- JAVA多线程之Exchanger
- Java多线程之Exchanger
- java线程之Exchanger
- Java多线程之Exchanger
- java并发--Exchanger
- java Exchanger原理
- java.util.concurrent.Exchanger
- Java并发同步器--Exchanger
- java多线程之Exchanger
- Java高级之Exchanger
- 《Java源码分析》:Exchanger
- java线程Exchanger
- Java多线程十一 Exchanger
- Java线程通信-Exchanger
- Android 之路7---Java基础3
- textarea文本域的高度随内容的变化而变化(适用于编辑文本)
- Food
- Android关于软件关闭和显隐判断。
- 机器学习基石-Hazard of Overfitting
- Java Exchanger
- php的curl怎么设置header中参数,cookie中的参数?
- mycat安装部署
- C#下获取当前总毫秒数的方法和代码
- sqlserver随笔
- 富文本编辑器图片上传回显,内容回显更新
- Win10下Anaconda 2与3 共存,dos 切换,jupyter notebook 切换,pycharm 切换
- 第十一周项目四C/C++利用遍历思想求解图问题
- java.lang.OutOfMemoryError: Java heap space错误提示及措施