Rus*_*ell 4 java multithreading
我正在使用Java 6.
假设我创建了100个线程,每个线程完成一项任务.我想连续一次运行10个线程.这意味着如果我正在运行线程1-10,并且线程8完成,我希望能够立即启动线程11,而无需等待1-10加入.
我怎样才能做到这一点?
解决这个问题的一种方法可能是使用isAlive()方法,但我想知道如果没有轮询我是否可以这样做.
谢谢.
你为什么要这么做?
更好的方法是创建一个包含10个线程的池并向其提交100个任务.它将具有完全相同的效果 - 100个任务中的10个同时运行.
ExecutorService pool = Executors.newFixedThreadPool(10);
for (int i = 0; i < 100; i++)
pool.submit(...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3038 次 |
| 最近记录: |