マルチスレッド

用語の解説

マルチスレッドとは

(マルチスレッド)

 「thread」は「糸」という意味で、コンピュータ関連では、プログラムの実行単位を表わす言葉として利用される。

 一般に複数のプログラムが同時に実行可能なマルチタスクシステムでは、それらの各プログラムに見掛け上、独立したメモリ空間やI/O空間などを割り当てることで、それぞれのプログラムに対し、あたかもそれだけが動いているように見せ掛ける。 これにより各プログラムは、同時に実行される他のプログラムとの相互作用を意識しなくてすむ。 マルチタスクシステムでは、このように、メモリ資源やディスク資源などを独立して所有するプログラムの実行単位をプロセス(process。 「過程」の意)と呼んでいる。

 しかしマルチタスクシステムが、あるプロセスから別のプロセスに実行を切り替えるには、現在のCPUレジスタの内容をすべて保存し、これから制御を切り替えるプロセスのためのレジスタ値をロードするなど、負荷が非常に大きい(こうした処理により、プロセスの独立性が保証される)。 このような負荷の大きなプロセスの切り替え処理を必要とせず、同一プロセス内でのマルチタスク処理を可能にしたものがマルチスレッド・システムであり、この場合のタスクの実行の単位をスレッドと呼ぶ。

 同一プロセス内のスレッド間では、処理の切り替えにかかる負荷が小さく、またメモリやI/O資源などを共有するため、負荷の大きなプロセス間通信を伴わずに、スレッド間での通信が行なえるというメリットがある。

 一般にマルチスレッドシステムでは、実行単位はすべてスレッドで管理される。 このためプロセスが生成されると、最低でも1つのスレッドが同時に生成される。 このようにプロセスを代表するスレッドを、プライマリスレッド(primary thread)と呼んでいる。

用語解説出典   powered by. アスキーデジタル用語辞典

CNET Japan

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]