永发信息网

java如何创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。求代码

答案:1  悬赏:20  手机版
解决时间 2021-02-22 23:07
  • 提问者网友:树红树绿
  • 2021-02-22 12:58
java如何创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。求代码
最佳答案
  • 五星知识达人网友:七十二街
  • 2021-02-22 13:39
package test; 
import java.util.concurrent.ExecutorService; 
import java.util.concurrent.Executors; 
public class ThreadPoolExecutorTest { 
public static void main(String[] args) { 
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3); 
for (int i = 0; i < 10; i++) { 
final int index = i; 
fixedThreadPool.execute(new Runnable() { 
public void run() { 
try { 
System.out.println(index); 
Thread.sleep(2000); 
} catch (InterruptedException e) { 
e.printStackTrace(); 


}); 


}因为线程池大小为3,每个任务输出index后sleep 2秒,所以每两秒打印3个数字。
定长线程池的大小最好根据系统资源进行设置。如Runtime.getRuntime().availableProcessors()
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯