小編這次要給大家分享的是如何使用Java Exchanger并發類,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
簡介
Exchanger是java 5引入的并發類,Exchanger顧名思義就是用來做交換的。這里主要是兩個線程之間交換持有的對象。當Exchanger在一個線程中調用exchange方法之后,會等待另外的線程調用同樣的exchange方法。
兩個線程都調用exchange方法之后,傳入的參數就會交換。
類定義
public class Exchanger<V>
其中V表示需要交換的對象類型。
類繼承
java.lang.Object
↳ java.util.concurrent.Exchanger<V>
Exchanger直接繼承自Object。
構造函數
Exchanger()
Exchanger提供一個無參構造函數。
兩個主要方法
public V exchange(V x) throws InterruptedException
當這個方法被調用的時候,當前線程將會等待直到其他的線程調用同樣的方法。當其他的線程調用exchange之后,當前線程將會繼續執行。
在等待過程中,如果有其他的線程interrupt當前線程,則會拋出InterruptedException。
public V exchange(V x, long timeout, TimeUnit unit) throws InterruptedException, TimeoutException
和第一個方法類似,區別是多了一個timeout時間。如果在timeout時間之內沒有其他線程調用exchange方法,則會拋出TimeoutException。
具體的例子
我們先定義一個帶交換的類:
@Data public class CustBook { private String name; }
另外有需要云服務器可以了解下創新互聯建站m.kartarina.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網站欄目:如何使用JavaExchanger并發類-創新互聯
分享路徑:http://m.kartarina.com/article6/cddgig.html
成都網站建設公司_創新互聯,為您提供外貿建站、網站內鏈、營銷型網站建設、ChatGPT、外貿網站建設、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯