springboot 간단 한 다 중 스 레 드 사용

1709 단어 자바
springboot 간단 한 다 중 스 레 드 사용
설정 클래스
package com.enation.app.oupin.buyer.api.goods;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.ThreadPoolExecutor;

@Configuration
@EnableAsync//      
public class GlobalConfig {
    @Bean
    public ThreadPoolTaskExecutor defaultThreadPool(){
        ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
        //      
        threadPoolTaskExecutor.setCorePoolSize(5);
        //      
        threadPoolTaskExecutor.setMaxPoolSize(20);
        //        
        threadPoolTaskExecutor.setQueueCapacity(20);
        //      
        threadPoolTaskExecutor.setThreadNamePrefix("ThreadPool-");
        //                
        threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        //           
        threadPoolTaskExecutor.setKeepAliveSeconds(60);
        //      
        threadPoolTaskExecutor.initialize();
        return threadPoolTaskExecutor;
    }
}

주입
 @Autowired
    private ThreadPoolTaskExecutor threadPoolTaskExecutor;

다 중 스 레 드 호출

                threadPoolTaskExecutor.execute(new Runnable() {

                   // @SneakyThrows
                    @Override
                    public void run() {

                        goodsIndexManager.addIndex(goods);

                        //Thread.sleep(1000);
                    }
                });

좋은 웹페이지 즐겨찾기