2017-05-04 71 views
0

我創建了一個值爲5的線程池。將任務分配給5個線程之後,工作者應該等待創建線程,直到線程在線程池中獲得空閒爲止。那麼,如何找到線程池中的任何線程都是免費的?如何檢測ThreadPool中是否有空閒線程?

在此先感謝....

+0

[Javadocs頁面]上有很多信息(https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html) – tar

+0

非常感謝,tar 。我已經看過它。但在看到Rahul Singh的回答和您的評論後,我瞭解了Javadocs頁面。 –

回答

2
if (thread instanceof ThreadPoolExecutor) { 
    System.out.println(
     "Pool size is now " + 
     ((ThreadPoolExecutor) pool).getActiveCount() 
    ); 
} 

考慮到該ExecutorService的名稱是線程,這爲您提供的活動線程,現在你可以得到免費的線程。