线上环境偶尔一个待办无法处理,服务器 cpu100%,原因时数据库死锁了,因为逻辑是这样 有 2 条 id 分别为 1 ,2 的待办数据 处理 1 后,自动启一个线程更新 2 处理 2 后,自动启一个线程更新 1 因为处理比较耗时,用户可能反复重试,看起来会有死锁,但是自动更新是异步,不在一个事务里,这种情况会产生死锁吗? service{ update(){ //事务 //耗时较长 } } WebControllerMethod(){ update(id:1) ThreadPoolTaskExecutor.execute(() -> { update(id:2) } }