concurrency開始使用並發


備註

本節概述了並發性是什麼,以及開發人員可能想要使用它的原因。

它還應該提及並發中的任何大型主題,並鏈接到相關主題。由於並發文檔是新的,您可能需要創建這些相關主題的初始版本。

Java中並發執行的示例

import java.util.stream.IntStream;

public class Concurrent {
    public static void printAndWait(String s) {
        System.out.println(s);
        try {
            Thread.sleep(1000);
        } catch (Exception e) {}
    }
    
    public static void main(String[] args) {
        Thread myThread = new Thread() {
            public void run() {
                IntStream.range(1,32)
                .forEach(x -> printAndWait(""+x));
            }
         };
         myThread.start();
         IntStream.range('a', 'z').forEach(x -> printAndWait(""+(char)x));
     }
}
 

這將產生類似的輸出

a
1
b
2
c
3
 

等等,雖然結果可能會有所不同。這是因為myThread 的代碼在不同的線程中作為主流同時執行。也就是說,範圍1-32由一個線程處理,範圍az由另一個線程處理。

由於線程之間沒有同步,因此無法保證首先執行哪一個,或者甚至確保它們將產生完全交織的結果。

安裝或設置

有關獲得併發設置或安裝的詳細說明。