JAVA由n执行线程堆栈

时间:2012-02-06 19:52:05

标签: java multithreading asynchronous

也许有人可以推荐一些关于线程执行,线程管理的好例子。也许不仅是示例,还有文章,教程,如果您将使用示例。

一般来说,我有一个问题,我需要从网上下载一堆文件,但连接只限于两个。因此,当我收集所有需要的文件的url时,我想下载说... 100个文件但是以异步方式执行,直到所有线程完成其工作。

谢谢你的支持。

4 个答案:

答案 0 :(得分:2)

ExecutorService应该为您处理线程管理。

final int POOL_SIZE = 2;
final ExecutorService pool = Executors.newFixedThreadPool(POOL_SIZE);

然后,您可以调用submit方法来执行可运行的任务

答案 1 :(得分:2)

使用ExecutorService大小为2的fixed thread poolsubmit使用ExecutorService的所有任务。

答案 2 :(得分:2)

我认为ThreadPoolExecutor应该可以帮助你,java.util.concurrent中有很多这种轮询的实现。*;

答案 3 :(得分:1)

我没有文章,但我知道一本好书,涵盖了使用Java的一般多线程编程。它被称为Java Concurrency in Practice.它确实涵盖了一般使用模式等。