2011-01-25 1 views
4


を実行しないでくださいoutExecuteTasksは、タスク数を含むいくつかのデバッグ情報を記録します:ThreadPoolのは、私は次のようにExecutorServiceのを定義しています</p> <p>スレッドプールのJavaとの奇妙な問題を抱えて提出したタスク

log.debug("activeCount={}, completedTaskCount={}, taskCount={}. poolSize={}", 
    new Object[] { activeCount, completedTaskCount,taskCount, poolSize }); 

(スレッドプールcompletedTaskカウンタに従って削除された50-100タスクの後)実行された後私は奇妙な動作を参照してください - 送信されたタスクはプールキューに追加されますが、まったく実行されません! ThreadPoolは、アクティブタスク= 0、タスクキューサイズが大きく、カウントしており、ログに従って実行されたタスクはどれも報告しませんでした。
誰か問題がありますか?

+0

Javaのバグである可能性があります。 JREの最新バージョンを使用していますか? –

+0

うーん...わからない。最新のJREを開発環境で使用していますが、生産についてはわかりません...確認します。 –

+1

JDKバグの可能性は非常に低いと思います。コードをもう一度チェックする必要があります。 –

答えて

2

[OK]を、私はだと言うのに十分な統計情報を収集:これは、具体的なLinuxカーネルのredhatボックスの

[[email protected]]$ uname -a 
Linux ns.mag 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux 

の問題です。これは2.4.31とhihgerでも再現されていません。

関連する問題