异步实现
要想使用Spring的异步操作,需要先开启异步操作,用@EnableAsync
注解开启,然后在对应的异步方法上添加注解@Async
即可。
创建com.seckill.task.MultiThreadingCreateOrder类,在类中创建一个createOrder方法,并在方法上添加@Async
,代码如下:
@Component
public class MultiThreadingCreateOrder {
/***
* 多线程下单操作
*/
@Async
public void createOrder(){
try {
System.out.println("准备执行....");
Thread.sleep(20000);
System.out.println("开始执行....");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
上面createOrder方法进行了休眠阻塞操作,我们在下单的方法调用createOrder方法,如果下单的方法没有阻塞,继续执行,说明属于异步操作,如果阻塞了,说明没有执行异步操作。
修改秒杀抢单SeckillOrderServiceImpl代码,注入MultiThreadingCreateOrder,并调用createOrder方法,代码如下: