プロセスから複数のスレッドを作成すると、各スレッドは独自のスタックを持ちますか、またはそれらが親プロセスのスタックを共有していますか。スレッドがシステムコールを行うとどうなりますか?スレッドはプロセスのような独自のカーネルスタックも維持していますか?各スレッドには独自のスタックがありますか?
答えて
はいスレッドには独自のスタックと独自のカーネルスタック(Linuxなど)があります。
スレッドがシステムコールをすると、カーネルモードにトラップし(ユーザモードから)、引数をカーネルに渡し、引数がチェックされ、カーネルは実行する必要がある場合スタック)、最終値をスレッドに戻し、ユーザーモードに戻ります。
カーネルはスタックなしで "どうすればいいの?" – avakar
私の答えで明確にします – Joohwan
カーネルスタックは、既存のモデルに追加されたセキュリティ対策です。マルチスレッドの前提条件は複数のスタックです。カーネルは、重要なデータが流出するのを防ぐために、ユーザ空間で何が起こっているのかをパラレルにします。 – Potatoswatter
- 1. 「各JVMスレッドには独自のプログラムカウンタがありますか?
- 2. Javaスレッドには独自のプロセスIDがありますか?
- 3. 各DAPPには独自のブロックチェーンがありますか?
- 4. 各プロセスには独自のカーネルスタックがあります。
- 5. iphone:メインテーブルビューの各行に独自のテーブルビューがあります
- 6. .NET例外:各例外タイプには独自のメッセージテキストがありますか?
- 7. 各コンポーネントに独自のmapDispatchToPropsを設定する必要がありますか?
- 8. D言語には「独自の」荷物がありますか?
- 9. UIScrollViewには独自のドットインジケータがありますか?
- 10. Logstashフィルタには独自の状態がありますか?
- 11. Microsoftには独自の外部グリッドコントロールがありますか?
- 12. Facebookには独自のキャッシュがありますか?
- 13. なぜNettyには独自のConcurrentHashMapがありますか?
- 14. mx:Windowコンポーネントには独自のapplicationCompleteがありますか?
- 15. MEFプラグインには独自の設定ファイルがありますか?
- 16. 各スレッドは、各スレッドは、ここでCPUレジスタの独自のセットと独自のスタック</p> </blockquote> <p>を持って、私はスタックについて理解することができます</p> <blockquote> <p>、CPUは、私が読んだことがあるいくつかの場所で
- 17. すべてのプロセスに独自のページテーブルがありますか?
- 18. 各スレッドスケジューラを独自のスレッドで実行する
- 19. 各仮想ホストにTomcatの独自のデフォルトアプリケーション(つまりROOT)がありますか?
- 20. site.masterページには独自のsite.masterページがあります
- 21. Chrome拡張機能には独自のlocalStorageがあります
- 22. Google Big Queryの日付パーティションテーブルの各パーティションには独自のキャッシュがありますか?
- 23. 他のスレッドのスタックに空きメモリがありません
- 24. IS Azure Webjobsには独自のメモリ割り当てがありますか?
- 25. 誰もJavaでスレッドが独自のスタックを実装する方法を説明できますか?
- 26. 各スレッドがC++で独自のRNGを使用する方法11
- 27. 独自のJavaオブジェクトプーリングライブラリがありますか?
- 28. 各マイクロサービスはそれぞれ独自のプロセスで実行する必要がありますか?
- 29. 独自のバグを検出するコードはありますか?
- 30. Pythonロギングは独自のスレッドで実行されますか?
はいスレッド固有のスタックです!グローバル値はスレッド間で共有できます(ローカルではありません) –
@GrijeshChauhanスレッドからシステムコールを行うとどうなりますか? –
例えば 'open()'システムコールを呼び出してファイルを開くとします。 'int f = open()'を使うと、コースの 'f'はスレッドのローカルです。ファイルディスクリプタはスレッド間で共有されていることに注意してください。 'f'の値を知っていれば、別のスレッドでその値を使って同じファイルにアクセスすることができます(再度開く必要はありません) –