<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Java 并行流示例 > 原文: [https://javatutorial.net/java-parallel-streams-example](https://javatutorial.net/java-parallel-streams-example) 通過流 API,開發人員可以通過創建并行流并提高程序執行操作的速度來利用多核架構并提高 Java 程序的性能。 ![java-featured-image](https://img.kancloud.cn/05/3e/053ee0bb59842d92359246c98f815e0c_780x330.jpg) 有兩種創建并行流的方法: * 通過使用`parallelStream()`方法 * 通過使用`parallel()`方法 當您使用并行流時,它們實際上會使用更多的 CPU 能力,這將使整個輸出或處理(如果您愿意)的整體速度更快。 更快! 另外,如果您不使用并行流進行大型計算,則您的程序將僅使用 16 個內核中的 1 個內核。 多么低效! ## 順序 并行流將問題分為多個小子集(或子問題),它們可以同時解決(不同于順序排列的順序,在這些子集中一個一個地執行每個小問題)。 在計算了子問題之后,將所有對它們的解決方案組合在一起。 ## 如何實現 Java 允許您通過使用諸如 map 之類的聚合操作來實現并行流。 ```java import java.util.ArrayList; import java.util.List; public class Main { public static int compute(int n) { for (int i = 0; i < 10000; i++) { n = n + i; } return n; } public static void main(String[] args) { ArrayList<Integer> arrayList = new ArrayList<>(); for (int i = 0; i < 1000000; i++) { arrayList.add(i*6); } System.out.println("Added all the numbers to the arraylist."); System.out.println("Starting to add numbers..."); int result = arrayList.parallelStream().map(i -> compute(i)).reduce(Integer::sum).get(); System.out.println(reuslt); } } ``` 在此示例中,我們有一個示例方法,該方法僅循環 10000 次并將`i`加到`n`。 最后,我們簡單地返回`n`。 在我們的主要函數中,我們創建一個包含整數的[`ArrayList`](https://javatutorial.net/java-arraylist-example)。 然后我們創建一個巨大的循環,循環 1000000 次,然后將每個增量`i * 6`加到`arraylist`中。 添加完之后,我們得到了這兩個打印語句,它們指出這個大循環已經完成。 在這些打印語句下面是有趣的部分。 更具體地說,這是我們使用映射函數創建并行流的地方。 我們在`arraylist`上調用`parallelStream()`,對于`arraylist`中的每個`i`,我們都在調用計算函數,并將`arraylist`的元素作為參數傳遞。 最后,我們將所有結果結合在一起。 ## 何時應使用并行流 * 當有大量數據要處理時 * 如果循序漸進的方法使您付出了代價 * N(元素數量)Q(每元素成本)應大
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看