まずは簡単な用語整理 マルチタスクとは 複数のタスクを切り替えて実行できるシステムのこと タスクがプロセスの場合、→ マルチプロセス タスクがスレッドの場合、→ マルチスレッド プロセスとスレッドのおさらい プロセス プロセスはプログラムの実行単位のこと。 プロセスの中身は「実行プログラム」や「変数の値」がある。 OS(Linuxカーネルなど)がこのプロセスを切り替えながら実行する。 スレッド スレッドにはカーネルスレッドとユーザースレッドの2種がある。 カーネルスレッド カーネルスレッドの実体はプロセス。軽量プロセスとも呼ばれる。 他スレッド(つまり他プロセス)と変数の値などを共有している。 ユーザースレッド ユーザースレッドは、1つのプロセスの中にある擬似的なスレッド。軽量スレッドとも呼ばれる。 あくまで1つのプロセスの中で複数の擬似スレッドがあるだけ。 つまりマルチコアの恩恵を受けら