問題タブ [synchronisation]

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.

0 投票する
0 に答える
646 参照

opengl - OpenGL GPU を CPU 同期に実装する方法

OpenGL Wiki は、Swap Intervalトピック ページの最後の段落で、GPU/CPU 同期に関して興味深いことを述べています。

GPU<->CPU 同期が必要な場合は、バッファ スワップ後に glFinish ではなく、高精度/マルチメディア タイマーを使用する必要があります。

glFinish()引用されたテキストで示唆されているように、またはglFenceSync()ベースのアプローチはうまく機能していません。これらの高精度/マルチメディア タイマーは、OpenGL 仕様の一部ではないと思います。そう:

V-Synchedディスプレイでのバッファスワップの直後にCPUコードを呼び出す(おそらくタイムスタンプを取得する)ために、高精度/マルチメディアタイマーを使用する方法を知っている人はいますか?

私は C++ で記述され、Linux でコンパイルされたソリューションをターゲットにしていますが、ライブラリ名、コード ビット、または直感が非常に役立ちます。

0 投票する
1 に答える
16848 参照

c - セマフォを使用して眠っている床屋

スレッドの同期に問題があります。別のアプローチで睡眠床屋の問題を実装しようとしています。コードを実行すると、スレッドは完全にあいまいな方法で実行されます。スレッドに結合を追加すると、プロセスは 1 つずつ実行されますが、これは必須ではありません。眠っている床屋の問題の解決策は知っていますが、このコードの問題を誰か教えてもらえますか?

ありがとうございました

}

0 投票する
2 に答える
118 参照

java - 非同期ブロックに入るとき、同期メソッドはロックを解放しますか?

クラスをロックしている同期メソッド A() があり、その本体で他の 2 つの非同期メソッド B() および C() を呼び出しています。私の質問は、コントロールが A() から B() に移動している間、クラスのロックを解放し、B の実行が終了した後にコントロールが戻ったときに再取得されるかということです。

助けてください。前もって感謝します。

0 投票する
1 に答える
178 参照

vb.net - dotNet: UI スレッドで Join ステートメントを実行する方法はありますか?

私は単純なスレッド アプリケーションをコーディングしています。開始ボタンをクリックすると、アプリケーションはこのボタンを無効にし、For iterations を作成して 5 つの ProgressBars を更新するだけで 5 つのスレッドを実行します。最後のスレッドは、スレッドの終了を待って、開始ボタンを再度有効にします。

問題: プログレスバーが 100% になる前にボタンが有効になっているのが表示されます... プログレスバーはまだ更新中です!

どうしたの?UI スレッドで結合ステートメントを作成する方法はありますか?

コードは次のとおりです。


編集: Bjørn-Roger Kringsjå へのリンクをありがとう。したがって、回避策があります。値を増やして直接減らすと、アニメーションがスキップされます。最大値については、値を最大に設定し、1 ずつ減らし、1 ずつ増やします...まだ少しラグがありますが、ProgressBars が中央にあるときにボタンを有効にするよりも本当に優れています:)

0 投票する
1 に答える
161 参照

java - 同期 JAVA - ファイルロック

次のコードがあります。これはマルチスレッド サーバー コードの一部です。

Java の「同期」について読んだことがありますが、それを自分のコードに統合する方法がわかりませんでした。ユーザーがファイル「キー」を使用しているときはいつでもファイル「キー」をロックして、別のユーザーが同時にアクセスできないようにしたいのです。他の誰かが(セキュリティ上の理由から)すでに使用していますが、何かアイデアはありますか?

0 投票する
2 に答える
4670 参照

java - 1 つのプロデューサー 複数のコンシューマーのパフォーマンス

私の Java プログラムには、クライアント サーバー アーキテクチャがあります。クライアント側で1つのメッセージを作成し、10000のスレッドで10000のクライアントが同時に1つのメッセージを送信するため、サーバーに送信します。サーバークラス側には、固定サイズのキューがあり、すべてのメッセージを最初にこのキューに入れる必要があります。次に、複数のチャネル (または複数のクライアント) を使用して、同時にメッセージを読み取ります。1 つのチャネル (またはコンシューマー) が 1 つのメッセージを読み取った場合、このメッセージはキューから削除する必要があります。しかし、複数のチャネルでは、1 つのチャネルよりも十分なパフォーマンスが得られません。スレッドの同期に問題があると思います。プログラムを最適化するにはどうすればよいですか? これが私のプログラムです。

クライアント側には、メッセージを送信するための実行可能なクラスが 1 つあります (クラスの重要な部分を示します)。

そしてメインクライアントクラスで

サーバー側では、キューに書き込みます

そして、このバッファを読み取り、Oracle DB メッセージに送信します。

私が作成する複数のチャネル

そして最後にサーバークラスで、バッファに書き込む2つのスレッドと、キューから読み取ってDBに書き込むためのチャネルを作成するスレッドを開始しています。