問題タブ [critical-region]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 「クリティカルセクション」「クリティカル領域」「制約付き実行領域」の違い
これらは実際には 3 つの異なる概念ですか、それともごちゃごちゃしていますか? (スレッド化とガベージ コレクションに関する記事を一緒に読んでいて、混乱してしまいました。)
「クリティカル セクション」 - これは、複数のスレッドが同時にアクセスすることを望まないコードのセクション、つまり lock および Monitor.Enter/Exit ステートメント内の用語であると思いますか?
「クリティカル リージョン」 - ここには本当の手がかりはありません - MSDN は、「これは、セクション内でスローされた例外がより広い影響を与える可能性があることをホストに伝えます」という行に沿って何かを言います。そして、「Sql Server などの CLR のホスト」は、重要な領域内でスローされた例外を「異なる方法で」処理することを選択する場合があります。別の方法?なぜ?そして、最も重要なこととして、コードをクリティカル リージョンとしてマークする必要があるのは、実際にはどのようなシナリオでしょうか?
「制約付き実行領域」 - ガベージ コレクションの記事で CriticalFinalizerObject について読んでいるときに、これに出会いました。
これについて MSDN から理解できるのは、これらのリージョンのいずれか内のコードは何らかの形で実行が保証されているため (しかし、どのように?)、「帯域外」の例外をスローしてはならないということだけです。
とは何out-of-band exceptionですか? (これをグーグルで検索しましたが、「範囲外の例外」を意味するかどうか尋ねられました)。
未処理の例外ですか?それとも特定の種類の例外のみですか? 繰り返しになりますが、最も重要なこととして、「制約付き実行領域」が必要になる現実世界のシナリオは何ですか?
概念がよくわからないので、「.NET」以外にこの質問に必要なタグがわかりません。
c - クライアントとサーバーを同じセマフォにリンクする方法
IPC スキームを使用して共有ファイルを介して「サーバー」と「クライアント」の間で通信する課題に取り組んでいます。
共有ファイルは、データ リーダーと呼ばれるサーバー アプリケーションで、初期化されたセマフォと共に作成されます。このコードは次のとおりです。
データ モニター (「クライアント」) は、このセマフォと通信して、同時に通信しないようにする必要があります。クライアントがこの同じセマフォ ID にアクセスする必要があるかどうか、またはこれら 2 つのプロセスが一緒にセマフォになるためのプロトコルが何であるかがわかりません。
データ モニターのコードを以下に示しますが、クリティカル リージョンに入ることができず、サーバー プロセスに正しく接続されるとは思いません。
multithreading - 多くのスレッドとクリティカル リージョン
同時に多くのスレッドを実行している場合、1 つのスレッドだけがクリティカル リージョンに入るのを許可するにはどうすればよいですか? また、クリティカル領域に複数のスレッドがある場合はどうなりますか?
interrupt - 相互排除と割り込みの無効化
こんにちは皆さん、質問があります。プロセスがクリティカル リージョンに入るときに、他のプロセスが同じクリティカル リージョンに入るのを止める 1 つの方法は、割り込みを無効にすることです。スケジューラーは「よし、あなたを止めて、別のプロセスを実行できるようにします」と言い、この新しいプロセスが同じクリティカル領域に入ると、このプロセスが同じクリティカル領域に入ろうとするため、問題が発生します.これが起こるとどうなりますか? ありがとうございました!