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

スレッドの生成と使用

スレッドパッケージは、スレッドのデータ構造およびスタックをキャッシュするので、スレッドを繰り返し生成しても負荷は大きくなりません。ただし、必要に応じてスレッドを生成したり削除したりする方が、専用の処理要求を待つスレッドを維持管理するより負荷が大きくなります。たとえば、RPC サーバーがよい例です。RPC サーバーは要求が送られてきたらスレッドを生成し、応答を返したらスレッドを削除します。

スレッドの生成にかかるオーバーヘッドは、プロセスの生成にかかるオーバーヘッドほど高くありません。しかし、スレッドの生成は、いくつかの命令を生成するのにかかる負荷に比べると、効率的ではありません。少なくとも数千の機械語命令が続くような処理を対象にして、スレッドを生成してください。