我有一个 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/