java - 在 Java 中一次维护 5 个线程

标签 java multithreading

我有一个 java 应用程序,它向服务器发送请求并向我返回响应。每个请求都在单独的线程上运行。

我想做的是一次维护 5 个线程(因此,一次进行 5 个请求)。此外,如果一个线程结束,我想启动一个新线程,以便始终运行 5 个线程。

最初我以为我可以在调用线程时使用 join,但意识到这会阻塞我的主线程。

有没有办法做到这一点?我用 Java 编写的程序不多,愿意接受任何建议/建议。

最佳答案

我会使用 ExecutorService

Executor exec = Executors.newFixedThreadPool(5);

for(String url: urls) 
   exec.submit(new UrlTask(urls));

// when finished
exec.shutdown();

这将同时执行最多 5 个任务。

关于java - 在 Java 中一次维护 5 个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14690278/

相关文章:

java - Spring - 验证bean中的字符串字段,它实际上是一个日期

java - 从Java中的构造函数调用抽象方法可以吗?

java - 从 JSF 传递枚举值作为参数(重新访问)

c# - 了解多线程

java - java servlet中初始化参数的使用

java - 检测变化事件的来源

c# - ASP.NET页面如何实现异步加载?

C# 如何识别创建当前方法所在线程的方法?

c# - 将 Async Task 与 Dispatcher 结合使用以从 ViewModel 循环更新 WP8.1 WinRT 的 UI 线程

ios - 串行队列(主线程除外)代码是否在主线程上执行?