サイズ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. Atlassian Bambooコマンドタスクが正しく実行されていません
- 2. 入力が正しく実行されていません
- 3. Do-whileループが正しく実行されていません
- 4. シェルコードが正しく実行されていません
- 5. If-Else Statementが正しく実行されていません
- 6. wordpressカスタムロールが正しく実行されていません
- 7. htaccess RewriteRuleが正しく実行されていません
- 8. Androidのカウントダウンタイマーが正しく実行されていません
- 9. jQueryが正しく実行されていません
- 10. パイプ機能が正しく実行されていません
- 11. Promises配列が正しく実行されていません
- 12. Python main()が正しく実行されていません
- 13. スタンフォードコアNLPサービスが正しく実行されていません
- 14. .JAR実行可能ファイルが正しく実行されていません
- 15. Java正規表現ループが正しく実行されていません
- 16. フィルタ実行時のクエリが正しくありません - クエリが実行されていません
- 17. PreparedStatementが正しいクエリで実行されていません
- 18. 正しく印刷されていませんが、まだ実行中です
- 19. EntityFrameworkコンテキストが正しく実装されていませんか?
- 20. runscriptのchrome拡張が正しく実行されていません
- 21. 'posted-ago'時間の計算が正しく実行されていません。
- 22. VB.NET - POST要求が正しく実行されていません
- 23. HDFSで `hdfs dfs -put`コマンドが正しく実行されていません
- 24. Cywginが正しくスクリプトを実行していません
- 25. jQuery ajax $は定義されていませんが、とにかく正しく実行されますか?
- 26. pthreads +セマフォー、なぜこれは正しく実行されていませんか?
- 27. スクリプトはタスクマネージャで正しく実行されませんが、手動で細かく実行されます
- 28. コードが正しく実行されません。理由を理解してみてください
- 29. pygame.sprite.collision正しい位置で実行されていません
- 30. 機能が実行されていないか正しく呼び出されていません
はい私はfuture.get()も同じ問題に直面しましたが、私は個々のスレッドにすべての例外も記録しました(実際には何もありませんでした)。私はthareds = CPUの数で試してみますが、CPUバインドされたタスクを実行しているかどうかはわかりません。 –