2

scroller4jを使用してカスタムクローラーを作成しました。私のアプリでは、多くのコントローラーを作成しますが、しばらくすると、システム内のスレッドの数が最大値に達し、JVMが例外をスローします。ShutDown()コントローラを呼び出して、として設定してnull呼び出しSystem.gc()ても、アプリのスレッドは開いたままになり、アプリがクラッシュします。

jvisualvm.exe(Java VisualVM)を使用したところ、ある時点でアプリが931スレッドに達することがわかりました。

CrawlControllerクローラー4jプロジェクトのオブジェクトによって作成されたすべてのスレッドをすぐに強制終了する方法はありますか?(またはその他のオブジェクト)

4

3 に答える 3

0

ShutDown()スレッドにジョブを完了するよう親切に依頼し、後で停止しますが、スレッドに無限のタスクがあり、決して終了しない場合はどうなりますか? 使ってみましたshutdownNow()か?これにより、終了する前に実行中のタスクが中断され、スレッドがすぐに停止します。

于 2013-02-01T10:57:21.040 に答える