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

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

流()和并行流()。為什么 API 開發人員采用兩種方法?

流()和并行流()。為什么 API 開發人員采用兩種方法?

動漫人物 2023-06-08 20:48:59
我最近仔細研究了 Java 8 Stream API 并注意到有兩種方法;流()和并行流()。我了解每種方法的用途,但無法理解需要兩種方法才能達到目的。通過公開兩種方法,Java 語言設計者強制在編譯時選擇并行化(或不并行化)。顯然,使用參數/開關可以幫助將選擇推遲到運行時使用一些運行時參數/配置和 DI,這在許多情況下都是可取的。然而,設計師一定有令人信服的理由不走那條路。那些原因是什么?這將有助于了解流是如何在幕后工作的。
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

您通常不想在運行時選擇:有些問題應該并行解決,有些則不應該。在 99.99% 的情況下,他們不應該這樣做。

如果您遇到過這種情況,Java 有 if 語句或三元運算符:

Stream<Foo> stream = shouldBeParallel? collection.parallelStream() : collection.stream();

我不想不得不寫和讀collection.stream(false)(那是什么false意思?),或者collection.stream(StreamMode.SEQUENTIAL)每次我想要一個流。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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