线程池之实例2

 

创建线程池:

1. 自己创建线程池

ThreadPoolExecutor  executor = new ThreadPoolExecutor(

   5, //core
  10, //Max
  15, //keepAliveTime
  TimeUnit.SECONDS, 
  new ArrayBlockingQueue<>(5),
  new ThreadPoolExecutor.CallerRunsPolicy()
);

  

2. 如果在springboot项目中,可以直接注入如下的线程池使用:

@Autowired

private ThreadPoolTaskExecutor threadPoolTaskExecutor ;

 

使用线程池:

//异步执行
CompletableFuture<Void> xxxFuture = CompletableFuture.runAsync( () -> {

    //TODO 业务逻辑

}, threadPoolTaskExecutor);

//异步执行
CompletableFuture<Void> yyyFuture = CompletableFuture.runAsync( () -> {

    //TODO 业务逻辑

}, threadPoolTaskExecutor);


//等待执行完成
CompletableFuture.allOf(xxxFuture, yyyFuture).get();

  

 

posted @ 2021-12-22 12:40  IT6889  阅读(45)  评论(0编辑  收藏  举报