問題タブ [executors]
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 - マルチスレッド newSingleThreadExecutor 飢餓デッドロック
これは Java Concurrency in Practice からそのままです。次の場合、デッドロックが発生します。
これがデッドロックを引き起こす理由を理解できません。私はチェックしましたが、そうです.header.get()を返し、取得したヘッダーを出力しますが、どのようにデッドロックしますか?
java - Javaで一括HTTPを送信する
このプログラムは、ファイルを読み取り、各行を http として送信するために使用されます。ファイルのすべての行が URL です。
例 http: //localhost:8080/?a=1&b=2
SendTask.java
}
500,000 行のファイルを送信すると、機能します。しかし、100,000 行を送信すると、1 つのエラーが発生しました: java.lang.OutOfMemoryError: GC オーバーヘッド制限を超えました。
- 少なくとも 100 万行を送信できるようにプログラムを変更するにはどうすればよいですか? ありがとう!
java - あるエグゼキュータ FixedThreadPool が別のエグゼキュータ SingleThreadExecutor を待つにはどうすればよいですか?
私には3つのタスクがあります:
- 最初: htmlFile --------\ の両方を同じ実行プログラムで順番にダウンロードします。正常に動作しています。
2 番目: htmlFile を解凍します ----------/
3 番目: イメージのダウンロード ------> 別のエグゼキュータで、イメージを 5 つのファイルに分割してダウンロードする必要があります。そのためには、FixedThreadPool(5) を使用しています。
しかし、クリックしてダウンロードすると、htmlDownload の終了を待たずに画像のダウンロードが開始されます。どうすれば executorPool が別の executor singleThread を待つことができますか??
メインクラス:
私の DownloadUtil クラス:
java - タイムアウト後にcountDownLatch.await()を中止します
を使用しExecutorServiceて3スレッドプールを実装し、CountDownLatchを使用してすべてのスレッドの完了を監視し、さらに処理します。
私はcountDownLatch.await()すべてのスレッドが完了するまで待っていました。countDownLatch.await()タイムアウトが45秒の場合、このプロセスを中止したいと思います。どうすればこれを実装できますか?
java - ScheduledExecutorService、エグゼキュータを停止せずにアクションを停止する方法は?
私はこのコードを持っています:
何らかのイベントの後、 を実装するrun()のメソッドで宣言されたアクションを停止する必要があります。SomethingDoerRunnable
これどうやってするの?Executor をシャットダウンできません。定期的なタスクのみを取り消す必要があります。これに使えますresult.get()か?また、可能であれば、どのように機能するか教えてください。
executors - Executors.newFixedThreadPool のパラメータの決め方
Executors.newFixedThreadPool(n) に割り当てる適切な値は何ですか? これを行う式はありますか?
java - Java 並行性: 少数のスレッドで多くの「無限」タスクを実行する
ニュートンの法則に従って空間を移動する一連の N 個の粒子の (同時) シミュレーターを構築しています。私の考えは、各粒子をタスクとしてモデル化することです。タスクは、他の粒子 (タスク) と相互作用して、その位置と質量を取得し、それが受ける正味の力を計算します。各粒子タスクは次のようなものです
多くのパーティクル (100 以上) を持つことができるので、そのような数の Java スレッド (物理スレッドにマップされる) を作成することはできません。私の考えはRuntime.getRuntime().availableProcessors()+1、多くのタスクを実行できるスレッドを使用することです。
ただし、粒子タスクが終了しないため、FixedThreadExecutor を使用できません。内部で一種のスケジューリングも実行できる必要がある FixedThreadExecutor を使用したいと思います。この目的のために何か知っていますか?
または、並行性の観点からそのようなシステムをモデル化するためのより良いアプローチを提案してもらえますか (たとえば、別のタスクの分割)。
Ps: 私は「古典的な」同時実行メカニズムに限定されており、アクターや同様のアーキテクチャは含まれていません。