問題タブ [blockingqueue]

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 投票する
3 に答える
2877 参照

java - ブロッキングキューの notifyAll() の代わりに notify()

notify()の代わりに使用できる複数のプロデューサー/複数のコンシューマーキューを持つことが可能かどうかを調べようとしていますnotifyAll()。たとえば、以下の実装 (ソース: here ) では、単純にnotifyAll()for を切り替えることはできませんnotify()。なぜ切り替えられないのかは完全には明らかではないので、この問題を理解するのを手伝ってくれる人へのティーザーとして残しておきます.

したがって、以下のコードは壊れています。

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

java - Java -BlockingQueue-複数のプロデューサー、単一のコンシューマー

簡単に説明してください

BlockingQueuesはスレッドセーフであることを知っています。

つまり、ブロッキングキューへの単一の参照を、単一のコンシューマーによって消費されるようにウィリーニリーにイベントをドロップできるすべてのプロデューサーに渡すことができ、何も中断されないということですか?

BlockingQueuesそうでなければ、定期的な更新がある場合とない場合がある最大20を生成し、それらを効率的に読み取る必要があることは、克服できない作業のように思われます。

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

activemq - メッセージがキューから削除されました

BlockingQueue実装を使用して、キューからのサービスによってイベントを処理しました。ただし、サーバーがダウンした場合、そのキューからのすべてのイベントが削除されるため、処理するイベントがありません。(サーバーがキューからのイベント/メッセージを保存でき、サーバーがダウンおよびアップした場合、手動で介入することなく、すべてのイベント/メッセージをロードして再度処理できる内部DBを探しています)。

これに関する助け。ApacheActiveMQを使用する必要があるかどうかわかりません。私はapacheservicemixを使用しています。

前もって感謝します。

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

java - java.util.concurrent.BlockingQueue の実装

重複の可能性:
ArrayBlockingQueue で、最終メンバー フィールドをローカルの最終変数にコピーするのはなぜですか?

java.util.concurrent.DelayQueue の実装を見ると、よくわからないパターンが見えます。

(*) 行 (フィールドへの一時参照を操作するため) の目的は何ですか? これは、同時実行 (ロック) が関係する BlockingQueue インターフェースのメソッドの実装に見られますか? ロック フィールドが final であり、フィールドの初期化中に他の final フィールドで割り当てられる場合を考慮してください。

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

java - Java コードの理解が難しいことに関する 2 つの質問

Java ソース コードを読んでいるときに、2 つの小さな質問に遭遇します。Sun がこのようなコードを書く理由がわかりません。ここに質問があります (JDK バージョン:1.6):

質問1:

メソッドブロックでローカル最終ReentrantLock変数を定義するのはなぜですか?グローバル変数を直接使用しないのはなぜlockですか?

質問2:

このメソッドはオブジェクトjava.text.NumberFormat#getInstance(Locale desiredLocale, int choice):を作成しDecimalFormatますが、戻り値の型はNumberFormatです。戻り値の型を as にしないのはなぜDecimalFormatですか?

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

java - BlockingQueue Implemetation using ReentrantLock

I was writing my own implementation of BlockingQueue for practice. I am trying to avoid using the synchronized keyword for the methods. I would instead like to use ReentrantLock.

What is the best way to write this implementation? I am not a Java ninja and would greatly appreciate if someone could pinpoint the errors in my code here and suggest better ways of implementing it.

Thanks for your time!

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

java - 同期キュー?

オンラインゲームの作成に 2 つのスレッドがあります。1 つのスレッドが 2 つの X 番号と Y 番号を受け取り、もう 1 つのスレッドが X 番号と Y 番号をサーバーにログインしている全員に送信します。基本的に、最初のスレッドが 2D 配列を Queue に追加し、これを続けられるようにするキューが必要です。同時に、配列を引き抜いてキューから配列を削除し、キューに送信するために使用します。他のプレイヤー。これを行う方法はありますか?同期キューが必要であることはわかっていますが、同期キューを同期するにはどうすればよいですか? それはブロッキング キューと呼ばれますか?

全体として、同期されたキューが必要です。これにより、2 つのスレッドが内容をスローしたり、内容を取り出したりすることができます。出来ますか?

-ダン

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

java - 挿入時に各スレッドに一意のIDを割り当てる必要があります

2つの列があるデータベースに挿入する必要があります-

つまり、IDは毎回一意である必要があります。そうでない場合、duplicate row in unique index挿入中に例外がスローされます。そして、私はこの範囲の間でIDを選択する必要があります1-100000

つまり、各スレッドは常に一意のIDを使用する必要があります-

以下は私が書いたマルチスレッドプログラムで、から取得した後は毎回異なる一意のIDでデータベースに挿入されますArrayBlockingQueue

それで、このプログラムはスレッドセーフになるかどうか?または、スレッドごとに毎回一意のIDを取得する他のより良い方法はありますか?または、以下のプログラムが原因である可能性がありduplicate row in unique indexますか?

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

c# - C#BlockingCollectionクラス統計

プログラムの主要コンポーネントの1つとして、基礎となるコレクションとしてConcurrentQueueを使用する無制限のブロッキングコレクションを使用しています。
ブロッキングコレクションの消費動作に関する統計を収集するための良い方法を探しています。たとえば、日中にキュー内にあったアイテムの最大数や、キューが構築されたときにブロッキングコレクション自体のサイズが変更されたときなどです。
何かを見逃したことがありますか、それともいくつかのメソッドをオーバーライドする継承されたクラスを作成して、使用統計を追加する必要がありますか?

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

java - JavaのBlockingQueueを使用したスレッド同期

私はBlockingQueueの概念に不慣れで、wait()とnotify()の必要性がなくなったという印象を受けました。スレッド同期の予備テストとして次のコードを作成しました(わかりやすくするために一部のコードは省略しています)。

プロデューサークラスEventGeneratorを使用します。EventGeneratorは、初期状態(SC)からすべての状態を通過して、ゲートAGに到達するまで飛行します。

消費者クラスの航空会社は、フライトの状態の各変更を受け取り、それを印刷します。

プロジェクトはコンパイルされ、エラーなしで実行されます。しかし、私は結果が次のようなものになることを期待していました(そして望んでいます)。

しかし、代わりに、私はほとんど常に次のようになります。

BlockingQueueを正しく実装していませんか?