1. ホーム
  2. multithreading

[解決済み] プロセスとスレッドの違いは何ですか?

2022-03-15 22:31:19

質問

プロセス」と「スレッド」の技術的な違いは何ですか?

プロセスという言葉は使い古された感がありますし、ハードウェアのスレッドやソフトウェアのスレッドもありますね。というような言語での軽量なプロセスはどうでしょうか。 Erlang ? どちらかの用語を使う決定的な理由はあるのでしょうか?

どのように解決するのですか?

プロセスもスレッドも独立した実行シーケンスである。典型的な違いは、スレッド(同じプロセスの)は共有メモリ空間で実行され、プロセスは別々のメモリ空間で実行されることです。

ハードウェアのスレッドとソフトウェアのスレッドというのがよくわからないのですが。スレッドはCPUの機能ではなく、オペレーティング環境の機能です(ただし、CPUは通常、スレッドを効率的にするためのオペレーションを持っています)。

Erlangは共有メモリマルチプログラミングモデルを公開しないので、プロセスという言葉を使っています。スレッドと呼ぶと、共有メモリを持っていることを意味します。