springboot线程池创建及使用

springboot启动类(Application.java)中配置线程池大小

@Bean(name = “crawlExecutorPool”)

public ExecutorService crawlExecutorPool() {

// 获取Java虚拟机的可用的处理器数,最佳线程个数,处理器数*2。根据实际情况调整

int curSystemThreads = Runtime.getRuntime().availableProcessors() * 2;

System.out.println(“------------系统可用线程池个数:” + curSystemThreads);

// 创建线程池

ExecutorService pool = Executors.newFixedThreadPool(curSystemThreads);

return pool;

}

使用类中注入线程池并使用

扫描二维码关注公众号,回复: 14322832 查看本文章

@Autowired

@Qualifier(value = “crawlExecutorPool”)

private ExecutorService pool;

public void crawlRedisQueue() {

for (int i = 0; i < 2000000; i++) {

pool.execute(() -> {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println(Thread.currentThread().getName() + “定时任务执行完成”);

});

}

}

猜你喜欢

转载自blog.csdn.net/m0_67391270/article/details/124421659