2017-11-06 5 views
-7

マルチスレッドを使用するためにexecuterサービスを使用しています。私にはたくさんの仕事があります。 executer.submit()を使用してこれらのタスクを1つずつ送信すると、ヒープスペースが増加し、ゆっくりとゆっくりとJavaプロセスが遅くなります。私はこの問題にどのようにアプローチすべきですか?例えばマルチスレッドプログラムでExecuterサービスを使用する

:あなたのコードを1として

while(resultset.hasnext()) 
{ 
I am thread objects here // 
RunnableObject o = new RunnableObject(data); 
executer.submit(o); 
} 
+0

質問はコードなしで抽象的すぎます。 –

答えて

0

すべてのデータを取得した後、私は右、あなたは、データベースから結果を取得し、スレッドに各recodeのを割り当てている、ということが理解?

このシナリオでは、10個のレコードを作成すると10個のスレッドが作成されますが、長期的には1000個のレコードが作成された場合は1000個のスレッドを作成できます。これによりアプリケーションの処理速度が低下します。

私の解決策は、thisのようなスレッドプールが対象です。

関連する問題