0

複数のスレッドの場合、各スレッドは個別のスタックとレジスタの状態を維持します。

また、個別の仮想メモリ状態を維持しますか、それとも共有できますか?

プロセス間で仮想メモリの状態を共有することに問題はないと思います。

編集 :

スレッドが状態を維持しない場合は、リンク(http://www.geeksforgeeks.org/archives/19913)の質問1の3番目のオプションが正しくないのはなぜですか?

4

3 に答える 3

4

各プロセスには、プロセスがアクセスできる仮想アドレスの範囲とも呼ばれる独自のアドレス空間があります。各プロセスは複数のスレッドを持つことができます。したがって、はい、プロセス内のすべてのスレッドは同じアドレス空間を共有します。これが、特別なメカニズムなしで同じプロセスの複数のスレッド間で変数を共有できる主な理由であることに注意してください。
一方、各プロセスには独自のアドレススペースがあるため、プロセス間通信などの特別なメカニズムを使用せずに、2つの別々のプロセス間で変数を共有することはできません。

于 2012-06-26T19:25:50.720 に答える
0

それらは常にメモリを共有します。そして、それは多くの問題を引き起こす可能性があり、実際に引き起こします。

(初心者の場合は、「マルチスレッド」タグを確認してください。)ただし、複数のスレッドを使用すると、さまざまな入力をリッスンでき、それらすべてのCPUコアを維持できます。

于 2012-06-26T19:51:37.567 に答える
0

正解です。2つのスレッドが同じ仮想メモリ空​​間を共有できます。これは本質的に(非常に表面的に)プロセスに関連するスレッドの定義です。

于 2012-06-26T19:03:54.723 に答える