请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么synchronized连续锁两个对象,之间没有sleep就不会发生死锁

为什么synchronized连续锁两个对象,之间没有sleep就不会发生死锁,,,多个线程不还是线程1先获取from,再获取to,线程2,先获取to再获取from么

正在回答 回答被采纳积分+3

2回答

紫钰 2020-03-26 22:58:15

我理解sleep并不是必须的,因为两人转账的代码不加sleep的话,发生死锁的概率极低,sleep只是放大了这个概率罢了(说是放大,其实是变成了100%出现)

0 回复 有任何疑惑可以回复我~
无心铁憨憨 2020-03-14 18:51:59

同学你好,你没有贴代码,我也不知道具体是怎么的,不过按照你描述的所说,不加sleep的话,应该也是有几率发生死锁的,你可以多尝试几次,第一个线程在获取的from之后进行休眠,是为了保证线程2能获取到to,这样就会发生死锁的

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信