也許有人可以推薦一些關於線程執行,線程管理的好例子。可能不僅僅是例子,而是文章,教程,如果你會用例子。JAVA通過n執行線程堆棧
通常我有一個問題,我需要從網上下載一堆文件,但連接限於兩個。所以,當我收集所有需要的url文件時,我想下載... 100個文件,但以異步方式下載兩個文件,直到所有線程完成他們的工作。
感謝您的支持。
也許有人可以推薦一些關於線程執行,線程管理的好例子。可能不僅僅是例子,而是文章,教程,如果你會用例子。JAVA通過n執行線程堆棧
通常我有一個問題,我需要從網上下載一堆文件,但連接限於兩個。所以,當我收集所有需要的url文件時,我想下載... 100個文件,但以異步方式下載兩個文件,直到所有線程完成他們的工作。
感謝您的支持。
使用了一個大小爲2的fixed thread pool的ExecutorService
,並submit所有任務到ExecutorService
。
我沒有一篇文章,但我知道一本很好的書,它涵蓋了使用Java的通用多線程編程。它被稱爲Java Concurrency in Practice.它確實涵蓋了一般的使用模式等。
ExecutorService應該照顧你的線程管理。
final int POOL_SIZE = 2;
final ExecutorService pool = Executors.newFixedThreadPool(POOL_SIZE);
然後你可以調用submit方法執行運行任務
我認爲ThreadPoolExecutor應該會幫助你,在java.util.concurrent。*中有許多不同的輪詢實現。