java基礎:CompletionStage介面

wangwei0721發表於2020-11-25

CompletionStage是Java8新增介面,用於非同步執行中的階段處理:先看介面

可以簡單劃分為三類:
1.在上一階段執行結束之後,一階段結果作為指定函式的引數執行函式產生新的結果,apply/combine,介面引數為Bi/Function型別
2.在上一階段執行結束之後,一階段結果作為指定函式的引數執行函式,accept方法,介面引數為Bi/Consumer型別
3.在上一階段執行結束之後,不依賴一階段執行結果,執行指定的操作,run方法,介面引數為Runnable型別
關鍵詞:
apply:上階段結果作下階段引數繼續執行並返回結果
accept:上階段結果作下階段引數繼續執行不返回結果
run:上階段執行完比下階段執行
async:非同步執行,指定或者不指定執行緒池
both:前兩階段同時執行完畢執行下一階段
either:前兩階段任一執行完畢執行下一階段
combine:類似apply,但下一階段執行的必須是BiFunction
compose:基於上階段的執行完狀態,執行下一階段
complete:基於上階段的執行完狀態和結果,消費其結果
handler:基於上階段的執行完狀態和結果,消費其正常或者異常結果
exceptionally:消費異常結果

第一類介面:

第二類介面:

第三類介面:

其他介面:

相關文章