天天看點

第六章并發程式設計,異步執行架構executor

異步執行架構executor是一個接口,隻有一個方法。接受一個Runnable做為參數,執行任務。 将任務的執行與送出解耦。

1:executor

2:使用executor 建立一個任務,并執行。

3:因為executor不能對線程進行進行操作,例如終止等。是以executorService繼承了 executor。executorService 可以接收callable對象,callable能夠處理異常。

     能夠傳回含有将來結果的 future等。能夠使該架構執行的線程終止。

4:completionService将executor和blockingqueue的功能融合在一起,可以将(一組)callable任務交給它,然後用take和poll方法獲得結果future。

 5:為任務設定時限,

    當某個任務獲得的結果超過一定時間時,就舍棄它,可以通過future.get方法實作。傳遞給一個時間限制。

6:當一組任務送出,通路不同網站的資料庫等,可以設定一個時限,當到達時限時,隻要取到的結果,如果某些任務沒有取到結果,那麼将它們舍棄。可以用executorService中的invokeall方法。

https://github.com/1367356/GradleTestUseSubModule/tree/master/javaConcurrency/src/main/java/MessageQueue/one

本部落格為非營利性個人原創,除部分有明确署名的作品外,所刊登的所有作品的著作權均為本人所擁有,本人保留所有法定權利。違者必究