缘起
springboot项目中使用了@Async注解,并发操作中会多次使用改函数,使用测试了一下改函数是并发执行还是依次执行。
异步函数:
@Override
@Async("asyncTaskExecutor")
public void test() {
logger.info("---------> test start");
int count = 0;
for (int i = 0; i < 10000000; i++){
count = i;
}
System.out.println("count: " + count);
logger.info("<--------- test end");
}
测试函数:
@Test
public void testAsyncTask(){
AsyncTaskService asyncTaskService = SpringContextUtil.getBean(AsyncTaskService.class);
/**
*
*/
for (int i = 0; i < 3; i++){
System.out.println(" index : " + i);
asyncTaskService.test();
}
}
执行结果:
没错,是异步执行的!