[Linuxのマルチプロセス及びマルチスレッド

Linuxシステムにおいて、新しいプロセスは、そのコード・セグメント、スタックとデータセグメントを維持するために、その別のアドレス空間、データ・テーブルの多数の確立に割り当てなければならない開始、これは「高価な」マルチタスク作業であります道。
2.データの大部分を共有し、互いの間で同じアドレス空間を使用して、プロセス内の複数のスレッド上で実行している間、スレッド空間を開始それはプロセス空間を開始するのにかかるよりもはるかに少ないがかかり、そして、スレッド間互いの間の切り替えの処理に要する時間よりもはるかに少ない切り替えに要する時間

3. 基本的な違いは、このです:マルチプロセスの各プロセスは、独自のアドレス空間(アドレス空間)を有していると、スレッドは、共有アドレス空間です。他のすべての違いがもたらすれる
1)速度:それらは同じアドレス空間内にあるため、スレッドの速度が速い等スレッド間の高速通信、高速スイッチングを生じました。
2)リソース使用率:スレッドがより良いリソース利用率であるが、また、彼らは同じアドレス空間内にあるため。
3)同期の問題:スレッド同期メカニズムを使用するか、パブリック変数/メモリので、彼らが同じアドレス空間である必要があります。

マルチスレッド共有アドレススペース

 

おすすめ

転載: www.cnblogs.com/taoshihan/p/11279919.html