マルチスレッドとマルチタスクの違い

記事内に広告が含まれています。

イメージ重視で整理。

マルチプロセスとマルチスレッドの例

マルチプロセスは、複数のアプリケーションを同時に利用できる仕組みです。これは、WordやExcelなどの複数のアプリケーションを同じ画面で同時に処理できることを意味します。

一方、マルチスレッドは、アプリケーションの処理を細かく分割し、複数の処理を同時に実行する仕組みです。イメージとしては、Word内の処理を細かく分割して同時に処理することです。

マルチプロセスは異なるアプリケーション間の処理を扱い、一方でマルチスレッドは同じアプリケーション内の処理に焦点を当てます。

用語の確認

プロセスとスレッド

  • プロセス:実行中のプログラム・アプリケーション。
  • スレッド:CPUが実行する単位のこと。OSのスケジューラが管理する最小単位のプログラム

プロセスとスレッドの関係性は以下のイメージ。プロセスはアプリの処理で、それを細かく刻んだ単位のことをスレッドという。

シングルスレッドとマルチスレッド

  • シングルスレッド:CPUひとつに対して複数のスレッドが列を作って待っている状態。CPU 1つが処理を行う
  • マルチスレッド:複数のcpuに対して複数のスレッドが並列に並んで同時に処理される状態

その他用語

  • マルチタスク(マルチプロセス):複数のアプリケーションを効率的に処理できる手法。
  • スケジューラ:CPUがどのスレッドを処理するのかを管理するための仕組み。一定時間(タイムスライス)経過したら今のスレッドを強制的に止めて次のスレッドに移るようにスレッドの処理順を管理している。 (ひとつのちょう長いスレッドがCPUを占有し続ける現象を回避できる)
  • コンテキストスイッチ:タイムスライスを超えた際にCPUの使用権を別のスレッドへ渡すこと

参照