Future和CompletableFuture的区别和对比,以及Future主要的四个缺点——不能回调会阻塞、批量任务处理彼此依赖会阻塞、不能多个任务级联执行、得不到最先完成的任务
生活随笔
收集整理的這篇文章主要介紹了
Future和CompletableFuture的区别和对比,以及Future主要的四个缺点——不能回调会阻塞、批量任务处理彼此依赖会阻塞、不能多个任务级联执行、得不到最先完成的任务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
注意:CompletableFuture內線程池的線程是守護線程,所以主線程執行結束會自動結束
?
1. Future在執行結束后沒法回調,調用get方法會被阻塞;CompletableFuture調用get方法獲取結果也會被阻塞。
?
2.?但是CompletableFuture可以回調,可不通過get方法獲取結果。
?
3. Future模式執行批量任務,在完成任務后要想執行其它任務得通過get方法獲取結果,在依次遍歷Future列表時,各個get方法依賴于Future列表順序。
?
4. CompletableFuture模式通過回調可以得到執行結果,各自完成任務可以立即執行接下來的任務。
?
5. 通過實現CompletionStage接口,CompletableFuture對象可以級聯地執行任務
?
6.?可以通過anyOf方法得到多個任務中首先完成任務的CompletableFuture對象
總結
以上是生活随笔為你收集整理的Future和CompletableFuture的区别和对比,以及Future主要的四个缺点——不能回调会阻塞、批量任务处理彼此依赖会阻塞、不能多个任务级联执行、得不到最先完成的任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式之Future模式——提交任务后
- 下一篇: 详解java集合之ArrayList——