Java Multithreading and Concurrency Library Advanced Application--17

Java
Multithreading

2018-5- 5 17.04




package cn.itcast.heima2;
import java.util.concurrent.Exchanger;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;


public class ExchangerTest {


public static void main(String[] args) {
ExecutorService service = Executors.newCachedThreadPool();
final Exchanger exchanger = new Exchanger();
service.execute(new Runnable(){
public void run() {
try {String data1 = "zxx";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() + 








"The returned data is" + data2);
}catch(Exception e){ } } }); service.execute(new Runnable(){ public void run() { try { String data1 = "lhm"; System.out .println("Thread" + Thread.currentThread().getName() +  "Swapping out data" + data1 + "Swapping out"); Thread.sleep((long)(Math.random()*10000)); String data2 = (String)exchanger.exchange(data1); System.out.println("Thread" + Thread.currentThread().getName() +  "The exchanged data is" + data2); }catch(Exception e){ } } }); } }























Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325729179&siteId=291194637