Weblio辞書辞典>辞書・百科事典>スレッド_(コンピュータ)>スレッド_(コンピュータ)の1ページ目
スレッド_(コンピュータ)とは?
スポンサーリンク
ずっと愛せるパソコンを選ぼう
Macを好きになる人が増えているのはこれだけの理由があるからです。
ウィキペディア目次へスレッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが早くなり、ライトウェイトプロセスとも呼ばれる。
スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。
プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。
これをシングルスレッドで実現しようとするとシグナルやタイマーを駆使してコーディングすることになる。
また、複数のプロセスに分割してプロセス間通信で協調動作させるという方法もある。
しかし、いずれの場合もそれらの機能を使うための余分な、本来のアルゴリズムと関係ないコーディングが必要となる。
スレッドを使用したプログラミングは本来のアルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。目次
1 スレッドとプロセスとタスク
2 ユーザースレッドとカーネルスレッド
3 ライトウェイトプロセス
4 関連項目
計算機上で、複数の処理を同時に実行する(並行計算、マルチタスク)場合、処理を分割し、同時に実行する部分を指定する事が出来る、処理の分割の単位として、スレッドとプロセスがある。
新たなプロセスを動作させるためには、CPUやメモリ空間などを割り当てる必要がある。
それぞれのプロセスは、割り当てられた資源内で独立して動く。
しかし、この方法では、メモリ空間が独立してしまうため、独立したメモリ空間が不必要な場合、メモリの利用効率が悪い。
プログラムによっては、共有メモリを利用しながら複数の処理を行ったほうが楽な場合があるため、プロセスの機能から必要なところだけを利用したものがスレッドであるとも言える。
1つのタスクは、1つ以上のプロセスから構成され、1つのプロセスは、1つ以上のスレッドから構成される。集合で表すと、スレッド ⊆ プロセス ⊆ タスクというようになる。
しかし、この関係は環境によって異なる。
例えば、リアルタイムOSでは、タスク ≒ スレッド、スレッド ⊆ プロセス、である。
しかし、タスクとプロセスの間に要素関係はない。
スレッドを使うことで、同一プロセス内の複数スレッドを同一メモリ空間上で実行でき、メモリ消費量などが軽減できるようになっている。
スポンサーリンク
ずっと愛せるパソコンを選ぼう
Macを好きになる人が増えているのはこれだけの理由があるからです。
楽に探せる!楽ワード
ページ(1/6)
次ページ≫