スレッド
#分散システム
プロセス
内の独立した
プログラム
実行
透明性
はプロセスと比較して低い
論理メモリ空間
を共有
プロセス資源(
ファイルディスクリプタ
など)を共有
なので軽い
マルチスレッド
は
シングルスレッド
に比べ、悪くはならない、除くなることが多い
メリット
プログラム構造の単純化
マルチプロセッサ
では並列に実行可能
画像を読み込んでおくなど
IPC
のオーバーヘッドが低くなる
種類
ユーザレベルスレッド
軽い
入力待ちなどでブロックするとプロセス自体がブロックされる
pthread
カーネルレベルスレッド
システムコール
ハイブリッド
データ競合
mutex
で整合性を保つ
分散システム
プロセスをブロックさせないでブロッキングシステムコールを呼べる
複数のリクエストを同時に処理できる
ディスパッチャスレッド、ワーカスレッド