問題タブ [countdownlatch]
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.
java - javaでリモートラッチを作成するにはどうすればよいですか?
現時点では、次のサーバーがあります。
1) localhost のエグゼキュータを使用して 100 個のサーブレット リクエストを開始します。
2) サーブレット リクエストを実行します。
3) 完了したサーブレットの合計量をカウントするラッチを減らします。
4) 実行時間を計算します。
ポイント 1、3、4 を別の「クライアント」マシンに移動したいと考えています。
したがって、私のクライアントはサーバーのサーブレットに 100 個のリクエストを送信し、すべての応答を待ってから (おそらくリモート ラッチを使用しますか?)、実行時間を計算する必要があります。
どうすればこの結果を達成できますか?
java - パイプストリームとカウントダウンラッチ
メインスレッドがストリーム内でさらに進むにつれて、ストリームを読み取り、スレッドプールで新しい処理ストリームをスピンアップするプログラムのプロトタイプを作成しようとしています。PipedStreams と CountDownLatch で問題が発生しています。
メインスレッドで「latch.await()」をコメントアウトして次のコードを実行すると、「Write end dead」エラーが発生します。「latch.await()」をコメント解除して実行すると、プログラムがハングし、スレッドが終了します。
私が間違ったことや、単一のストリームを複数の処理ストリームで適切に処理する方法についてのアドバイス。どうも。
コメントアウトされたlatch.await()を使用した出力:
コメントを外したlatch.await()の出力:
変更されたコード:
変更された出力:
java - CountDownLatch でスレッド実行の順序を制御できますか?
私にはやるべき仕事があります。4 つのサービス A、B、C、D を作成する必要があります。各サービスには独自のスレッドが必要です。サービスは、依存するすべてのサービスが開始された後にのみ開始する必要があり、サービスは、依存するすべてのサービスが停止した後にのみ停止する必要があります。サービスは、可能な限り並行して開始および停止する必要があります。サービス B と C はサービス A に依存 サービス D はサービス B に依存 サービス D を開始するには、サービス A と B を開始する必要があります サービス A を停止するには、サービス B、D と C を最初に停止する必要があります サービス B と C はA が起動した直後に並列します。逆に、並列に停止することもできます。
これを解決する方法について何か提案はありますか? 私は過去10日間それをやろうとしています...CountDownLatchまたは何か他のものでそれを行うことはできますか? どんなアドバイスでも結構です。
java - CountDownLatch は Java マルチスレッドでどのように使用されますか?
CountDownLatch
Javaとは何か、いつ使用するべきかを理解するのを手伝ってくれる人はいますか?
このプログラムがどのように機能するかについて、私には明確な考えがありません。私が理解しているように、3 つのスレッドはすべて同時に開始され、各スレッドは 3000 ミリ秒後に CountDownLatch を呼び出します。したがって、カウントダウンは1つずつ減少します。ラッチがゼロになると、プログラムは「Completed」を出力します。私の理解の仕方が間違っていたのかもしれません。
// ------------------------------------------------ -----
java - スレッドが 1 つだけ開始されるようにする方法
状況は、getConnection を試行したときに RecoveryThread が 1 つだけ作成されるようにする必要があり、PrimaryData Source の getConnection で失敗した場合、私が持っているコードは次のとおりです。
getConnection を試行する 2 つの異なるスレッドがある場合、これにより requestFailover() メソッドが 2 回呼び出される可能性があり、2 回呼び出されると、2 つの recoveryService スレッドが作成されることになります。
よろしくお願いします。
java - Javaで別のスレッドにシャットダウンシグナルを送信する
ユーザーがシャットダウン信号をトリガーするまで、別のスレッドの while ループで何かを繰り返し実行するアプリケーションがあります。ワーカー スレッドに (揮発性) ブール値フィールドを設定することで、メイン スレッドからワーカー スレッドにシグナルを送信できますが、「java.util」のユーティリティなどを使用して、スレッドをシャットダウン/中断する他の方法はありますか? 。同時'?
ExecutorService の shutdown() または shutdownNow() メソッドを呼び出してみましたが、ワーカー スレッドを停止できません。また、shutdown() を呼び出し、ここ!Thread.currentThread().isInterrupted()
で推奨されているように while 条件で使用すると、ループを中断できません。私が見つけることができる唯一の他の方法は、CountDownLatch を使用することでしたが、ここではwhile ループの条件で使用する必要がありますが、このメソッドの javadoc ドキュメントにはCountDownLatch.getCount() != 0
このメソッドは通常、デバッグおよびテストの目的で使用されます。
これは疑わしいアプローチIMOになります。以下は私のサンプルコードです
これを行う他のクリーンな方法はありますか?