1
wysnxzm 28 天前 ![]() 使用 CompletableFuture.anyOf()获取最快执行完成任务的结果进行判断,满足则 return 不满足则在剩余的任务中继续 CompletableFuture.anyOf()
循环次数为任务的 size()即可不需要递归 |
2
amy2 28 天前 ![]() 并发调用用的是一个数据库连接吗,不是的话就不是同一个事务了吧,没法整体提交或回滚
|
3
dufu OP 场景 1:不同任务,共享同一个连接,需要将当前连接的当前事务进行传递,传递的过程需要等待,即任务 2 需要等待任务 1 执行完成后,将事务传递过来,任务 3 需要等任务执行完成后将事务传递过来,因此,和串行执行基本一样
场景 2:开多个线程,每个线程有自己的连接和事务,因此会各自提交事务,线程 1 的回滚只会回滚线程 1 中的事务,因此也达不到统一 commit 或者 rollback 的效果。 总结:目前没有得到更好的办法实现这个。 |