java多线程执行出现异常怎么办?

使用spring+ibatis框架开发;

现在网站的下单流程分为三步,1、发送邮件和短信;2、删除购物车表;3、插入订单表;

现在用线程池来实现多线程的并发操作。但是如果其中一个线程出现异常,想的是应该全
部都回滚。那么如果来保证这三个线程之间的原子性。

      首先,必须使用互斥锁将你的操作在锁保护范围内;其次了,就是使用try…catch…finally进行异常捕获,一旦捕获异常就执行回滚操作 。最后,只要保证同一时刻只有一个线程执行相应的操作并且执行完成后再释放锁,就能保证操作的数据一致性。