Java併發編程-Exchanger

Exchanger類可以用來在兩個線程之間交換對象。我們看下面的圖:

Java併發編程-Exchanger

1、使用同一個Exchanger對象在兩個線程間交換數據,只能是兩個線程,不支持更多的線程

2、如上圖所示,Exchanger支持生產者、消費者場景

3、當一個線程調用exchange()方法進行阻塞,等另一個線程也調用了exchange()方法後,進行交換數據

我們看下面的一個例子:

Java併發編程-Exchanger

輸出結果:

Java併發編程-Exchanger

程序分析:

1、在兩個線程調用exchange()方法後,開始進行交換數據,如果只有一個線程調用exchange()被進行阻塞


分享到:


相關文章: