スレッド動作の詳解(1/7)

ここでは、スレッドの動きを少し詳しくみていきます。

  1. スレッドについて
  2. スレッドの実装方法について
  3. スレッドの同期について(1/2)
  4. スレッドの同期について(2/2)
  5. スレッドの処理順制御について
  6. スレッドの同時実行可否について
  7. デッドロックについて

1.スレッドについて

「スレッド」とは、「処理の流れ」を意味し、「マルチスレッド」とは、「同時実行されているその処理の流れが複数ある」ということを意味します。

よく似た意味の言葉として、「マルチプロセス」というものがあります。それらは、「複数の処理を同時に実行する」という点では、似たようなものですが、データ管理という点で異なります。

マルチプロセスでは、各プロセスにおいて、データは独立していますが、マルチスレッドでは、各スレッドにおいて一部(スタック※1)を除きデータを共有※2しています。


※1 スタック
ローカル変数を管理している領域です。 ローカル変数は、メソッド開始時に確保され、終了時に開放されるので、複数のスレッドで共有することが可能となります。
※2 共有
データが共有されているので、複数のスレッドからstaticフィールドを参照できたり、同じインスタンスにアクセスできる等が可能となっています。

▲PageTop


  1. スレッドについて
  2. スレッドの実装方法について
  3. スレッドの同期について(1/2)
  4. スレッドの同期について(2/2)
  5. スレッドの処理順制御について
  6. スレッドの同時実行可否について
  7. デッドロックについて