也许有人可以推荐一些关于线程执行,线程管理的好例子。也许不仅是示例,还有文章,教程,如果您将使用示例。
一般来说,我有一个问题,我需要从网上下载一堆文件,但连接只限于两个。因此,当我收集所有需要的文件的url时,我想下载说... 100个文件但是以异步方式执行,直到所有线程完成其工作。
谢谢你的支持。
答案 0 :(得分:2)
ExecutorService应该为您处理线程管理。
final int POOL_SIZE = 2;
final ExecutorService pool = Executors.newFixedThreadPool(POOL_SIZE);
然后,您可以调用submit方法来执行可运行的任务
答案 1 :(得分:2)
使用ExecutorService
大小为2的fixed thread pool,submit使用ExecutorService
的所有任务。
答案 2 :(得分:2)
我认为ThreadPoolExecutor应该可以帮助你,java.util.concurrent中有很多这种轮询的实现。*;
答案 3 :(得分:1)
我没有文章,但我知道一本好书,涵盖了使用Java的一般多线程编程。它被称为Java Concurrency in Practice.它确实涵盖了一般使用模式等。