マルチスレッド

マルチスレッドとは、プロセス内で複数の処理を同時に実行することです。

マルチスレッドで同時に動作するそれぞれの処理のことをスレッドと言います。

一つのプロセスに割り当てられた時間内でプロセッサが実行するスレッドを短い時間で切り替えれば、複数のスレッドが同時に実行されているように見えます。

マルチスレッドによるメモリアドレス空間の共有

マルチタスクOSにおける各プロセスは、それぞれ仮想メモリが割り当てられるため、メモリアドレス空間を共有しません。

一方、マルチタスクOSにおける同一プロセス内の各スレッドは、同じ仮想メモリ上に存在するため、メモリアドレス空間を共有します。

これにより、同じメモリアドレス空間を使って、複数のプログラムを連携させたい場合は、マルチスレッドが適しています。

ただし、マルチスレッドでは、複数のスレッドが同時に同じデータにアクセスする可能性があることに注意してプログラミングする必要があります。