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は1つのスレッドによって処理され、範囲azは別のスレッドによって処理されます。

スレッド間に同期がないため、最初に実行するか、実際には完全に絡み合った結果を生成することさえ保証されません。

インストールまたはセットアップ

並行性のセットアップまたはインストールに関する詳細な手順。