マルチスレッドのプログラミング

システムリソースの節約

共有メモリーを通して複数のプロセスが共通のデータを利用するようなプログラムは、複数の制御スレッドを使用していることになります。

しかし、各プロセスは完全なアドレス空間とオペレーティング環境上での状態をもちます。そのような大規模な状態情報を作成して維持しなければならないという点で、プロセスはスレッドに比べて時間的にも空間的にも不利です。

さらに、プロセス本来の独立性のため、ほかのプロセスに属するスレッドとの通信や同期など、プログラマに課される処理が多くなります。この処理には、異なるプロセスに含まれるスレッド間の通信の処理や、それらのスレッドの操作の同期などがあります。これらのスレッドが同じプロセスに含まれていると、通信や同期がはるかに簡単になります。