package com.leasehouse;
import java.util.concurrent.Exchanger;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class TestExchanger {
static Exchanger<String> exchanger = new Exchanger<String>();
static ExecutorService executorPool = Executors.newFixedThreadPool(2);
public static void main(String[] args) {
executorPool.execute(new Runnable() {
public void run() {
String a = "A";
try {
String b = exchanger.exchange(a);
System.out.println("b =" + b + ";a=" + a);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
executorPool.execute(new Runnable() {
public void run() {
String b = "B";
try {
String a = exchanger.exchange(b);
System.out.println("b =" + b + ";a=" + a);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
executorPool.shutdown();
}
}
Java并发之Exchanger
原创wx63db212c2853a 博主文章分类:JAVA ©著作权
©著作权归作者所有:来自51CTO博客作者wx63db212c2853a的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Exchanger
简介 1、用于交换数据 2、它提供一个同步点,在这个同步点两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数
Thread 数据 数据传递 java -
Exchanger使用
Exchanger使用
JAva学习 Java