異步執行架構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
本部落格為非營利性個人原創,除部分有明确署名的作品外,所刊登的所有作品的著作權均為本人所擁有,本人保留所有法定權利。違者必究