public class ExchangerTest {
public static void main(String[] args){
ExecutorService threadPool = Executors.newCachedThreadPool();
final Exchanger<String> exchanger = new Exchanger<>();
threadPool.execute(new Runnable() {
@Override
public void run() {
try {
String data1="wangrui";
System.out.println("线程"+Thread.currentThread().getName()+"正准备换出"+data1);
Thread.sleep((long)(Math.random()*10000));
String data2 = exchanger.exchange(data1);
System.out.println("线程"+Thread.currentThread().getName()+"换出结果"+data2);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
threadPool.execute(new Runnable() {
@Override
public void run() {
try {
String data1="shenpei";
System.out.println("线程"+Thread.currentThread().getName()+"正准备换出"+data1);
Thread.sleep((long)(Math.random()*10000));
String data2 = exchanger.exchange(data1);
System.out.println("线程"+Thread.currentThread().getName()+"换出结果"+data2);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
}
如有疑问,请发邮件:[email protected]
github:??https://github.com/wangrui0/