Java concurrency とは

Javaプログラミング言語とJava仮想マシン(JVM)は、並行プログラミングをサポートするように設計されており、すべての実行はスレッドのコンテキストで行われます。オブジェクトとリソースは、多くの個別のスレッドでアクセスできます。各スレッドは独自の実行パスを持ちますが、プログラム内の任意のオブジェクトにアクセスする可能性があります。プログラマは、オブジェクトへの読み書きアクセスがスレッド間で正しく調整されていることを保証する必要があります。スレッド同期は、オブジェクトが一度に1つのスレッドのみによって変更され、別のスレッドによる変更中にスレッドが部分的に更新されたオブジェクトにアクセスできないようにします。 Java言語には、このコーディネーションをサポートする組み込みの構造があります。