2012-05-06 6 views
1

私はScheduledThreadPoolExecutorを使用していますが、時には利用可能なスレッドの数に対して未処理の要求が多すぎると思われます(はい...おそらく、スレッド)。具体的には、スケジュールされたタスクが起動した後に、スレッドプールのBlockingQueueが使用可能なスレッドを待っている時間を知りたいと思います。 ScheduledThreadPoolExecutorがそのタスクを内部キュー(ScheduledThreadPoolExecutor.super.queue.add(task))に追加する際に、JDKのAPIとコードを見ていると、簡単な方法ではないように見える場合があります。ScheduledThreadPoolExecutorのBlockingQueueにタスクがどのくらいの時間置かれているかを調べる

思考や提案?

答えて

2

自分の状態を追跡するために、この動作をタスクに実装できますか?

+0

+1:タスクを定期的に追加することができます。既存のタスクを変更しない場合は、追加されたタイミングを定期的に追加できます。 –