Exchanger類可以用來在兩個線程之間交換對象。我們看下面的圖:
1、使用同一個Exchanger對象在兩個線程間交換數據,只能是兩個線程,不支持更多的線程
2、如上圖所示,Exchanger支持生產者、消費者場景
3、當一個線程調用exchange()方法進行阻塞,等另一個線程也調用了exchange()方法後,進行交換數據
我們看下面的一個例子:
輸出結果:
程序分析:
1、在兩個線程調用exchange()方法後,開始進行交換數據,如果只有一個線程調用exchange()被進行阻塞
閱讀更多 全棧獨立開發者 的文章