最近工作中遇到了一个问题 由于某个批量功能执行时间实在太慢 于是想着使用多线程的方法加速 但是运行了之后发现 他们不存在于一个事务中,想要一个报错 全体回滚暂时不明白该怎么实现
相关伪代码
@Transactional
public void test() throws InterruptedException {
CountDownLatch countDownLatch = new CountDownLatch(5);
for (int i = 0; i <5 ; i++) {
new Thread(new Runnable() {
@Override
public void run() {
AreaController.this.insert();//插入一条数据
countDownLatch.countDown();
}
}).start