スレッド間で共有されるリソースは何ですか? 質問する

スレッド間で共有されるリソースは何ですか? 質問する

最近、私はインタビューでプロセスとスレッドの違いは何かと質問されました。実のところ、私は答えを知りませんでした。少し考えて、とても奇妙な答えをしました。

スレッドは同じメモリを共有しますが、プロセスは共有しません。これに答えた後、面接官は私に邪悪な笑みを浮かべ、次のような質問を投げかけました。

Q.番組がどのセグメントに分かれているかご存知ですか?

私の答え:はい (簡単だと思った) スタック、データ、コード、ヒープ

Q.では、教えてください。スレッドはどのセグメントを共有しますか?

これには答えられず、結局全部言ってしまいました。

プロセスとスレッドの違いについて、正確で印象的な答えを提示できる人はいますか?

ベストアンサー1

ほぼ正しいですが、スレッドはスタック以外のすべてのセグメントを共有します。スレッドには独立したコール スタックがありますが、他のスレッド スタック内のメモリには引き続きアクセス可能であり、理論的には他のスレッドのローカル スタック フレーム内のメモリへのポインタを保持できます (ただし、そのメモリを配置するより適切な場所を見つける必要があります)。

おすすめ記事