亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

簡單地調用 parallelStream 是否并行運行任務?

簡單地調用 parallelStream 是否并行運行任務?

慕森王 2021-08-25 10:11:06
我在互聯網上看到了一堆例子,為了使用流 API 來做并行的事情,只需.parallelStream()像這樣調用方法:mySet    .parallelStream()    ... // do my fancy stuff and collect但在其他情況下,我已經看到在線程池提交中使用了并行流,如下所示:ForkJoinPool.commonPool().submit(() -> {    mySet        .parallelStream()        ... // do my fancy stuff and collect})只是調用會parallelStream()執行多個并發線程中接下來發生的任何事情嗎?就像在一些預先配置的線程池中一樣。或者我是否必須創建我的線程然后使用并行流?
查看完整描述

1 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

YesparallelStream并行運行。


通常,當有一個長時間運行的并行流時,您不想在 上運行它,commonPool因為所有其他并行流也在使用它。


順便說一句,這是一個實現細節,因為流沒有指定它們將用于并行處理的池,但是在當前實現下,您不應該使用ForkJoinPool.commonPool(),而是創建一個新池:


ForkJoinPool pool = new ForkJoinPool(2);


pool().submit(() -> {

mySet

    .parallelStream()

    ... // do my fancy stuff and collect

})


查看完整回答
反對 回復 2021-08-25
  • 1 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號