2009年4月14日火曜日

スレッドとプロセス

他社勉強会に行ってきた。
勉強会のスタイルとしては、エンジニアたちが本を読んでいき、読んだ内容について要約してみたり、わからないところをその場でググったり、詳しい人に聞いたり。


学んだこととしてはスレッドとプロセス。

プロセスもスレッドもCPUから見るとおんなじ。
でもそれぞれに違いがあるらしい。

マルチプロセスってのは
・メモリをくう。
・ひとつのプロセスが壊れると他のプロセスに影響がない。

マルチスレッドってのは
・メモリ空間を共有できる。
・一つのスレッドが壊れると他のプロセスも巻き込んで壊れる。

たとえて言うならば、プロセスが島で、スレッドが人。
プロセスは規模が大きい。スレッドは規模が小さい。
島でひとが一人ウイルスに感染すると、島の人たちはウイルスに感染する。
が、島が離れていると、影響はない。



それから、ブラウザ。

google クロムはマルチプロセス。
だから、ひとつのタブがエラーになったところで、他のタブが影響をうけることはない。

一方、firefoxはマルチスレッド。
ひとつのタブが壊れると、firefox自体がシャットダウン。

なるほどねーって思った。

0 件のコメント: