問題タブ [monitors]
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.
c++ - 複数のモニターとハンドル
物理モニターを介して for ループを実行しようとしていますが、ハンドルが本当に混乱しています。次の行に沿って実行される疑似コードがあります。
モニター数の GetSystemMetrics(80) は、使用するのに十分な信頼性がありますか、または失敗する可能性のある例外はありますか?
そこにはあまりないことはわかっていますが、MSDN を見ていると、ぐるぐる回っているだけで、プログラミングの能力があまりありません。
c++ - HDC からの C++ EnumDisplayMonitors
HDC からの場合に DisplayMonitor が失敗するのはなぜですか?
java - スレッドへの参照を持たずに、子スレッドが終了するのを待ちます
私は、スレッドを使用することがある既存のアプリケーション用の API の構築に取り組んでいます。だから私の方法の1つはこのようなものです
現在、loadMenu
メソッドはスレッドを生成できますが、必ずしもそうとは限りません。存在する場合はdoSomething
、新しいスレッドが他のコードを実行している間に、残りのコードを実行します。私が必要としているのは、 がloadMenu()
すべての子スレッドの実行を終了するのを待ってから、次のコード行に進む方法です。ユーザーの選択に基づいているため、実行できる可能性のあるスレッドの参照はありません。使用できませんjoin()
。また、アプリケーション (または で何が起こるかloadMenu
) を編集することもできません。
java - ひな鳥同時プログラミング
自分では解決できない並行プログラミングの問題があります。それを解決するには、Java Monitors を使用する必要があります。
問題は次のとおりです。
アマゾンのジャングルの奥深くには、クーイーコーイと呼ばれる鳥が生息しています。これらの注目に値する鳥は、ヒナを育てる際に異常な行動をとります。
- 両親は、狩り、巣に食べ物を落とし、休むことを交互に繰り返します。
- 両親は、一定量 (または部分) の食物を巣に預けることによって、ヒナに餌を与えます。
- 利用可能なすべての食物を食べなければならないことをヒナに教えるために、親は、以前の食物がすべて消費されるまで、決して巣に食物を預けません。巣が空でない場合は、餌を追加する前に巣が空になるまで待ちます。
- 巣はせいぜいCの容量の食物を含むことができることに注意してください(不思議なことに、親は狩りからC以上の食物を持って戻ってくることはありません.観察によると、親は余分な食物をせいぜい食物の C 部分はこれまでに堆積されます)。
その間、ひよこは赤ちゃんと同じようにすべてのことを行います。
- 寝る
- 食べる(一度に1食分)
- グアノを生産する
このプログラムは、これらの鳥の生活をシミュレートし、2 つの親プロセスといくつかのヒナ プロセスを作成します。
したがって、ヒヨコと親の行動は、次の擬似コードで説明されている状況に似ています。
シミュレーションは、次のパラメーターで呼び出されます。
- ひよこ: ひよこプロセスの数です
- baby_iter: ひよこが大人になるまでの反復回数です。
- max_food_size: 親が狩りから持ち帰る最大のポーションサイズです (結局のところ、巣の容量と同じです)
- hunt_success_rate: 親が狩りをしたときの成功率を表します。50% の率は、親が食物なしで戻ることを意味します。
同期はモニターによって行われます。
誰か助けてくれませんか?セマフォに関する同様の問題を解決しましたが、モニターが Java でどのように機能するかわかりません。
ありがとうございました。
c# - 読み取り/書き込みシンクロナイザー、ロックの所有者を取得
おそらくこれは簡単な質問ですが、C# に関する知識が不足しているため、解決策を見つけるのに苦労しています。
これが取引です。lockRead、lockWrite、releaseRead、releaseWrite、および releaseLockWriter の 5 つのメソッドを持つセマフォを実装する必要があります。
最初の 4 つのメソッドの名前は一目瞭然です。最後のメソッドは、ライター ロックを解放し、読み取りロックをアトミックに取得するメソッドです。
ここでの問題は、releaseRead、releaseWrite、および releaseLockWriter が、それぞれ読み取りロックまたは書き込みロックを取得したスレッドによってのみ呼び出されることです。
スレッドがロックの所有者かどうかを知るにはどうすればよいですか? 考えられる解決策は、スレッドごとにIDを作成し、ロックを取得するときにそれらを渡し、解放するときにIDを再度渡し、IDが所有者であるかどうかを確認することですが、おそらくもっと良い方法があります。
vb.net - VB.net アプリケーションを別のモニターに移動する
VB.net では、フォーカスされたアプリケーションを別のモニターに移動する方法があります。たとえば、Google Chrome がプライマリ モニターで開いていてフォーカスされている場合、2 番目の画面に移動することは可能でしょうか?
java - モニター付きリーダーライター - Java
Javaでモニターを使用してリーダーライターの問題を実装しています。多くの読者と作家がいます。ライターが書き込みを行っているときは、他のリーダーまたはライターは読み書きできません。多くのリーダーが同時に読むことができます。このコードの何が問題なのかわかりません。デッドロックの問題があります。