03-CompletableFuture非同步執行緒 擴充套件
方法總結
方法 |
描述 |
場景 |
runAsync |
用於開啟一個非同步執行緒,傳入Runnable沒有返回值 |
開啟一個非同步執行緒,同時不關注返回值 |
supplyAsync |
用於開啟一個非同步執行緒,傳入供給型函式式介面,有返回值 |
開啟一個非同步執行緒,同時關注返回結果 |
thenCompose |
用於連線上一步的執行結果,繼續處理,傳入一個函式式介面,傳入x,返回y |
用於繼續處理上一步執行緒執行的結果(還是上面的執行緒去執行)關注返回結果 |
thenComposeAsync |
.. |
用於繼續處理上一步執行緒執行的結果(開啟新的執行緒去執行)關注返回結果 |
thenApply |
對上一步的返回結果做後續處理,傳入一個函式式介面,傳入x,返回y |
對上一步的返回結果做後續處理(還是上面的執行緒去執行)關注返回結果 |
thenApplyAsync |
.. |
對上一步的返回結果做後續處理(開啟新的執行緒去執行)關注返回結果 |
thenAccept |
對上一步的結果做後續處理,傳入一個消費型介面,傳入x |
對上一步的結果做後續處理(還是上面的執行緒去執行)不關注返回結果 |
thenAcceptAsync |
.. |
對上一步的結果做後續處理(開啟新的執行緒去執行)不關注返回結果 |
thenRun |
執行一個任務,傳入一個Runnable介面 |
執行一個執行緒任務(還是上面的執行緒去執行),沒有入參,沒有返回值 |
thenRunAsync |
.. |
執行一個執行緒任務(開啟新的執行緒去執行),沒有入參,沒有返回值 |
thenCombine |
用於合併兩個執行緒的返回值,第一個引數就是(第二個執行緒任務),第二個引數是傳入一個函式式介面,傳入x,y 返回z |
用於執行緒任務合併(還是上面的執行緒去執行),關注返回值 |
thenCombineAsycn |
.. |
用於執行緒任務合併(開啟新的執行緒去執行),關注返回值 |
thenAcceptBoth |
用於合併兩個執行緒的返回值,第一個引數就是(第二個執行緒任務),第二個引數是傳入一個函式式介面,傳入x,y |
用於執行緒任務合併(還是上面的執行緒去執行),不關注返回值 |
thenAcceptBothAsync |
.. |
用於執行緒任務合併(開啟新的執行緒去執行),不關注返回值 |
runAfterBoth |
用於合併兩個執行緒的返回值,第一個引數就是(第二個執行緒任務),第二個引數是傳入一個Runnable介面 |
用於執行緒任務合併(還是上面的執行緒去執行),沒有入參,不關注返回值 |
runAfterBothAsync |
.. |
用於執行緒任務合併(開啟新的執行緒去執行),沒有入參,不關注返回值 |
applyToEither |
用於處理兩個執行緒那個優先完成,第一個引數就是(第二個執行緒任務),第二個引數是一個函式式介面,傳入x,返回y |
用於處理兩個執行緒那個優先完成就用那個的返回值(還是上面的執行緒去執行),傳入的x就是優先執行緒返回的結果,關注返回值 |
applyToEitherAsync |
.. |
用於處理兩個執行緒那個優先完成就用那個的返回值(開啟新的執行緒去執行),傳入的x就是優先執行緒返回的結果,關注返回值 |
acceptEither |
用於處理兩個執行緒那個優先完成,第一個引數就是(第二個執行緒任務),第二個引數是一個消費型介面,傳入x |
用於處理兩個執行緒那個優先完成就用那個的返回值(還是上面的執行緒去執行),傳入的x就是優先執行緒返回的結果,不關注返回值 |
acceptEitherAsync |
.. |
用於處理兩個執行緒那個優先完成就用那個的返回值(開啟新的執行緒去執行),傳入的x就是優先執行緒返回的結果,不關注返回值 |
runAfterEither |
用於處理兩個執行緒那個優先完成,第一個引數就是(第二個執行緒任務),第二個引數是一個Runnable介面 |
用於處理兩個執行緒那個優先完成就用那個的返回值(還是上面的執行緒去執行),沒有入參,不關注返回值 |
runAfterEitherAsync |
.. |
用於處理兩個執行緒那個優先完成就用那個的返回值(開啟新的執行緒去執行),沒有入參,不關注返回值 |
exceptionally |
處理上面執行中的異常,傳入一個函式式介面,傳入exception, 返回y |
用於處理呼叫異常的情況, 入參是報錯的異常, 關注返回值 |
handle |
處理正常或異常的情況,傳入一個函式式介面,第一個引數是正常結果(如果沒異常),第二個引數是異常物件(如果有異常),返回y |
用於處理無論正常和異常都要走的情況(還是上面的執行緒), 關注返回值 |
handleAsync |
.. |
用於處理無論正常和異常都要走的情況(開啟新的執行緒), 關注返回值 |
whenComplete |
處理正常或異常的情況,傳入一個函式式介面,第一個引數是正常結果(如果沒異常),第二個引數是異常物件(如果有異常) |
用於處理無論正常和異常都要走的情況(還是上面的執行緒), 不關注返回值 |
whenCompleteAsync |
.. |
用於處理無論正常和異常都要走的情況(開啟新的執行緒), 不關注返回值 |
join |
用於獲取返回結果 |
有返回結果 |
若有收穫,就點個贊吧
作者:彼岸舞
時間:2022\04\11
內容關於:CompeletableFuture
本文來源於網路,只做技術分享,一概不負任何責任