サイズ100のnewFixedThreadPoolを作成し、それに対して500スレッドを開始しました。 すべてのスレッドが正常に起動し、すべてのスレッドがすべて実行するのに十分な時間がかかります。しかし、エグゼキュータはただスレッドを生成して出力を停止し、そのほとんどはシャットダウンしません。 shutdown()とawaitTermination()をmax valueで呼び出したので、すべてのスレッドが終了するまで待つ必要があります。 タスクは、20または30のように、プールサイズが100で小さいタスクの数が少ない場合に問題ありません。 スレッドのロジックは、リストを操作してそのリストをxlsxファイルに変換することです。 誰かが似たような問題に直面した場合は、情報を共有してください。FixedThreadPoolが正しく実行されていません
-2
A
答えて
1
ExecutorServiceにタスクをサブミットする際のよくある間違いは、発生したエラーを無視していることです。どちらかにする必要があります。
- コールFuture.get()の各将来に関するお
try { } catch (Throwable t)
ブロック内のすべてのエラーをキャッチし、ログインする必要が任意のエラーや - を見るために
.submit(task)
によって返されました。
エラーが発生し、すべてのタスクが失敗する可能性があります。
BTWタスクにCPUが割り当てられている場合は、最適なスレッド数がCPUの数になる可能性があります。
スレッド内のロジックは、リスト上で動作し、はるかに簡単なアプローチは、例えばparallelStreamを使用する可能性がある
を変換することです
listToProcess.parallelStream()
.map(l -> process(l))
.forEach(row -> save(row));
関連する問題
- 1. jQueryが正しく実行されていません
- 2. Do-whileループが正しく実行されていません
- 3. If-Else Statementが正しく実行されていません
- 4. スタンフォードコアNLPサービスが正しく実行されていません
- 5. Androidのカウントダウンタイマーが正しく実行されていません
- 6. パイプ機能が正しく実行されていません
- 7. Atlassian Bambooコマンドタスクが正しく実行されていません
- 8. wordpressカスタムロールが正しく実行されていません
- 9. htaccess RewriteRuleが正しく実行されていません
- 10. .JAR実行可能ファイルが正しく実行されていません
- 11. フィルタ実行時のクエリが正しくありません - クエリが実行されていません
- 12. PreparedStatementが正しいクエリで実行されていません
- 13. 正しく印刷されていませんが、まだ実行中です
- 14. EntityFrameworkコンテキストが正しく実装されていませんか?
- 15. VB.NET - POST要求が正しく実行されていません
- 16. Cywginが正しくスクリプトを実行していません
- 17. jQuery ajax $は定義されていませんが、とにかく正しく実行されますか?
- 18. pthreads +セマフォー、なぜこれは正しく実行されていませんか?
- 19. $(ウィンドウ).focus()はChromeで正しく実行されません
- 20. JSはAJAXコールで正しく実行されません
- 21. プログラムは正しく実行されません
- 22. forループは正しく実行されません
- 23. 計算が正しく行われていません
- 24. Silverlight 5印刷が正しく行われていません。
- 25. 正しい順序でスキャンが実行されていません
- 26. トランザクションコミットは正常に実行されますが、実行されません。
- 27. ワークフローは正しく実行されませんが例外はスローされません
- 28. テーブルが正しく表示されず、行が揃っていません
- 29. アプリケーションが正しく終了せず、バックグラウンドで実行されています
- 30. Facebookオープングラフチュートリアルが正しく動作せず、クロムなしで実行されていません
はい私はfuture.get()も同じ問題に直面しましたが、私は個々のスレッドにすべての例外も記録しました(実際には何もありませんでした)。私はthareds = CPUの数で試してみますが、CPUバインドされたタスクを実行しているかどうかはわかりません。 –