質問: とあるサイトで > > プログラムから見ると、スレッドを準備して起動してやれば、あとはスレッド自身で処理を進めてくれる。しかもプロセスを切り替えるのと違って、仮想メモリーなどの割り当てた資源を切り替える必要はないので、スレッド切り替えは高速だ。 > > > ということが書かれていました。 これは、マルチスレッドであるアプリケーション内の非同期処理はスレッド(実行する処理)をかなり高速に切り替えてCPUに処理させることで実現しているという風に捉えても間違えではないでしょうか? よろしくお願いいたします。
回答: 別プロセス、ってのは全く別のメモリ空間を用意し、別の実行環境でコードを実行する、というイメージです いくつものアプリを実行させるというイメージですね 対してスレッドは、実行中のプロセスと同じメモリ空間で同じ実行環境で処理を切り替えて非同期処理を行うので、切り替えの手間がそんだけ少なく済む、ということです。 まあそんかわり、メインのプロセスやら他のスレッドの影響もある程度受けるので、そこらへんの良し悪しもあったりします