java Callable 使用場景是什麼

時間 2021-05-07 06:19:48

1樓:白奕新

你的理解不對。

executorPool是乙個ThreadPoolExecutor物件,submit()方法會將你傳入的Callable封裝成乙個FutureTask物件,並執行execute方法(啟用乙個Thread去執行,會去判定是否超過執行緒數等等這些操作先不理會。所以是非同步的而且並非懶載入)

你說你list阻塞確實會存在。假設list中的第乙個Future還未執行完成,第二個Future已經完成,。這個時候可以使用CompletionService。

使用Callable最大的好處在於可以返回返回值。假設現在有100條資料需要通過http請求,介面限定每次只返回10條,如果單執行緒執行就得通過10次http請求。通過Callable(不使用runnable在於沒辦法返回返回值,但是其實runnable也是可以實現只是比較不優雅)可以併發地去處理這些10次請求,理想情況下可能只需要1/10的時間即可。

MySQL Hash索引實際使用場景?

counterxing 作為後端小白,最近在看 高效能MySQL 關於雜湊索引的理解,也大部分源於這本書。雜湊索引基於雜湊表實現,只有精確匹配索引的所有列的查詢才有效。對於每一行資料,儲存引擎都會對所有的索引列計算乙個雜湊碼,雜湊碼是乙個較小的值,並且不同鍵值的行計算出來的雜湊碼也不一樣。雜湊索引將...

降噪耳機有哪些使用場景?

噗噗熊 我來寫乙個你們可能不太接觸的場景 新手爸媽有的時候明明在寶寶毫無異常的時候,被嬰兒睡覺時的一些聲音所吵醒 喉軟骨未發育完成時,喉音很重 我經常戲稱老菸嗓 偶爾驚跳,有時候會拍到床 睡眠中的類似抻懶腰的動作伴隨著聲音 這時候建議新生兒父母輪流佩戴一段時間降噪耳機,一來保證寶寶有人監控,二來帶耳...

Vagrant 和 Docker的使用場景和區別

許成 樓主的提問是不對的,你應該問docker和vm的區別,或者問vagrant和docker compose的區別,而docker是虛擬化技術,而vagrant只是vm編排工具 配角不配 其實,真有人會在生產環境使用vagrant嗎?還必須配合virtualbox或者vmplay虛擬機器才能使用。...