springboot+多線程簡單實現

搭建springboot環境
創建ThreadConfig

/**
 * 線程
 *
 * @author zhoumin
 * @create 2018-09-18 13:58
 */
@Configuration
@EnableAsync
public class ThreadConfig implements AsyncConfigurer{
    @Override
    public Executor getAsyncExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(8);
        executor.setMaxPoolSize(1000);
        executor.setQueueCapacity(500);
        executor.setKeepAliveSeconds(30000);
        executor.initialize();
        return executor;
    }

    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
        return null;
    }
}

創建service和接口

void test(int i);

service實現類

@Override
@Async
public void test(int i) {
  System.out.println("線程" + Thread.currentThread().getName() + " 執行異步任務:" + i);
}

測試:

@RunWith(SpringRunner.class)
@SpringBootTest
public class BaseTest {

}
/**
 * @author zhoumin
 * @create 2018-09-18 14:12
 */
public class ThreadTest extends  BaseTest{
    @Autowired
    private DeviceStatisticsTaskService deviceStatisticsTaskService;

    @org.junit.Test
    public void threadTest() {
        for (int i = 0; i < 5000; i++) {

            deviceStatisticsTaskService.test(i);
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章