問題タブ [java.util.concurrent]
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 - 試す前に lock.lock()
次の間に違いはありますか:
と
コンパイルはスムーズに進み、プログラムも動作します(同じ出力を意味します)
lock.lock(); を入れるべきですか?試す前か後か…
助けてくれてありがとう
java - マルチスレッドJavaアプリケーションでのデータバッファリング
1つのプロデューサースレッドと複数のコンシューマースレッドを持つマルチスレッドアプリケーションがあります。データは共有スレッドセーフコレクションに保存され、バッファに十分なデータがある場合はデータベースにフラッシュされます。
javadocsから-
要素を取得するときにキューが空でなくなるのを待ち、要素を格納するときにキューでスペースが使用可能になるのを待つ操作を追加でサポートするキュー。
このキューの先頭を取得して削除し、必要に応じて要素が使用可能になるまで待機します。
私の質問-
- E [] take(int n)メソッドを持つ別のコレクションはありますか?つまり、ブロッキングキューは、要素が使用可能になるまで待機します。私が欲しいのは、100個または200個の要素が使用可能になるまで待機する必要があるということです。
- または、ポーリングせずに問題に対処するために使用できる別の方法はありますか?
java - ブロッキング キューと InterruptedException
プロパティとして LinkedBlockingQueue を持つクラス A があります。A の 1 つのメソッドでは、アイテムをキューに挿入したいので、LinkedBlockingQueue.put() メソッドを呼び出します。ただし、キューがいっぱいの場合、スレッドはスペースが利用可能になるか、スレッドが中断されるまで待機します。
問題は、スレッドが中断された場合でも、アイテムをキューに入れたいということです。
アイテムがキューに挿入されたことを確認する方法はありますか?
ありがとう
java - ReentrantReadWriteLock ハング
このコンストラクターが無期限にハングする理由は何ですか? スレッドセーフなシングルトンを作成しようとしています。
ところで、静的なゲッターにロックを配置する方が良いかもしれません。コンストラクターでロックを使用することが本質的に間違っているかどうかを知りたいだけです
java - なぜここで仕事をしたりしないのですか?
また、例外に null が含まれているのはなぜですか? これはhttp://www.cs.rice.edu/~wns1/papers/2006-PPoPP-SQ.pdfリスト 3からの実装です。
次のように出力されます
なぜ null になるのですか?
java - この put-if-absent イディオムの競合状態を説明してください
次のコードを検討し、list が同期された List であると仮定します。
上記のコード フラグメントは、完全にスレッド セーフにするために外部で同期する (ロックで保護する) 必要があることを知っています。
java - 「プライベート」修飾子はJavaでスレッドの安全性も保証しますか
Brain Goetz による安全な構築手法に関するこの優れた記事を読んで、リスト 5 内にあるコメントに混乱しました。コード スニペットは次のとおりです。
なぜ彼はこれについて言うのme
ですか?// Safe because "me" is not visible from any other thread
. 2 つのスレッドが同時にインスタンス変数にアクセスできませんme
か?
java - すべてのスレッドは、Java 同時実行プログラミングで同時に開始されますか?
私のプログラムでは、2 つのタスクを作成しています。これらのタスクは、Callable
インターフェースを実装します。これらを 2 つのスレッドに渡して、スレッド プール クラスを実行します。私の質問は、これら 2 つのスレッドが同時に開始されるかどうかです。Java同時実行プログラミングでは、すべてのスレッドが同時に開始されますか?
java - 並行Javaプログラミングでスレッド実行を指定するにはどうすればよいですか?
Callable、Executor、Futureオブジェクトを使用して、別々のスレッドから並列にWebサービスを呼び出しています。すべてのWebサービス呼び出しを実行した後、結果をjspで表示します。
ここで疑問があります。Webサービス呼び出しの1つが失敗した場合、jspで成功した呼び出しの結果をどのように表示できますか?
そのような状況で1つのスレッドの実行に時間がかかる場合は、その応答をスキップして、残りの結果をjspで表示したいと思います。
Thread.sleep(1000)
1つのwebsericeにを追加しようとしましたが、jspでも応答が遅れます。
java - Java並行プログラミングでCancellationExceptionを処理するにはどうすればよいですか?
java.util.concurrentパッケージを使用して並列プログラムを作成しています。私は2つのスレッドを持っています:
- Webサービスmethod-1を呼び出すthread-1、および
- Webサービスメソッド2を呼び出すthread-2。
スレッド実行タイムアウトを指定しています-スレッド1が指定されたタイムアウト内に実行を完了しない場合、スレッド1をインターセプトし、スレッド2で実行を続行し、スレッド2の結果をjspで表示する必要があるとします(注:両方の場合スレッドはリクエストの処理に時間がかかりすぎるため、UIが完了するまで待機したくありません)。
以下のコードで試しましたが、InterruptedExceptionがスローされます。1つのタスクがより多くのマイアを必要とする場合、どうすれば他のタスクを進めることができますか?