マルチスレッドはこんなときに使う


マルチスレッドはこんなときに使う

パフォーマンスの向上

  • レスポンス・タイムの向上
    • 重い処理の別スレッド化
      • 時間のかかる計算
      • ネットワークによる通信
      • ディスクへのアクセス
    • 複数クライアントへの順次応答
      • ユーザー・インターフェイスからの入力
      • サーバであればほかのクライアントからの要求
  • スループットの向上
    • 遅いデバイスに対するCPU待機時間の利用
      • CPUが遅いデバイスの処理結果を待っているときに生じる無駄な時間を マルチスレッド化によって活用
      • 遅いデバイスとはディスクやネットワークなど
      • これらはメモリなどに比べるとアクセスに時間がかかる
    • マルチプロセッサ環境の活用
      • 複数のCPUを搭載するマルチプロセッサが登場
      • マルチスレッドを用いて明示的に複数の処理を走らせることによって
      • マルチプロセッサの並行処理の恩恵を受ける