私はexecutorserviceを使用してスレッドプールを作成しています。Executorサービスのキュー内のタスク数を取得する方法は?
ExecutorService executor = Executors.newSingleThreadExecutor();
スレッドプールのキューにあるタスクの数にアクセスしようとしています。私はそれを得る方法がないことがわかります。 私はthreadpoolexecutorでキューサイズを取得するメソッドがあることを知っていますが、どのようにexecutorserviceオブジェクトでそれを行うことができます。
私は私は私がのキュー内のタスクの数を取得するにはtpExecutor.queue.size()を使用することができます知っているこの
ThreadPoolExecutor tpExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>());
ようThreadpoolExecutorを作成している場合、私はキュー情報を取得することができます言ったようにスレッドプール。 現在、私はExecutor Serviceを使用してスレッドプールを宣言しています。どうやってやるの? 人々がコードを書いて実演できるのは相当なことです。
'Executors.newFixedThreadPool(nThreads)' 'nThreads = 1'はどこですか? – nullpointer
私はそれから何を得ますか?スレッドプールのキューにあるタスクの数を取得するにはどうすればよいですか?精巧にしてください。 – africandrogba
'newSingleThreadExecutor()'が実際に 'ThreadPoolExector'の型を返すと仮定すると、オブジェクトをキャストしてhttps://docs.oracle.com/javase/8/docs/api/java/util/concurrent/を呼び出すことができますThreadPoolExecutor.html#getActiveCount--なぜ重要なのかわかりません。 – markspace