当前场景是这样的:有个线程1 使用编程式事务进行数据库操作,设计到多个数据库操作语句(编程式事务就是声明式事务糅合到一起)。有个线程2 使用声明式事务进行数据库操作。
如果 线程1 开始事务begin后,删除表A的数据a, (中间时间C中,做了一些其他等待操作 ),事务才提交commit线程2 刚好在时间C中,欲对数据a进行修改。
这个时候就会出现死锁。
请问这种方式有没有解决方法?1. 事务操作弄成串型化可以解决这个方法,但可能性能不足。