|
|
1
53
我认为 Executors.newFixedThreadPool 符合您的要求。根据您是否希望将结果返回到主线程,或者任务是否完全独立,以及您是否有要提前执行的任务集合,或者任务是否为响应某些事件而排队,使用结果ExecutorService有许多不同的方法。
或者,如果您有一个新的异步任务来响应某个事件,那么您可能只想使用ExecutorService的
|
|
|
2
22
|
|
|
3
5
Executors.newFixedThreadPool(int)
|
|
|
4
2
使用执行者框架;即 newFixedThreadPool(N) |
|
|
5
1
在您的情况下,设置两者
查看相关的SE问题以动态控制池大小: |
|
|
6
0
如果你想自己滚:
其中worker是扩展线程的类。每个工作者都将调用这个类的removeworker方法,并在完成任务后将自己作为参数传入。 这么说来,执行器框架看起来好多了。 编辑:有人想解释一下为什么这件事这么糟糕,而不是简单地修改一下? |
|
|
7
0
正如这里其他人提到的,您最好的选择是使用 Executors 班级: 但是,如果您想自己滚动,那么这段代码应该能让您了解如何继续。基本上,只需将每个新线程添加到一个线程组中,并确保组中的活动线程永远不超过n个:
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |