为什么synchronized连续锁两个对象,之间没有sleep就不会发生死锁
来源:14-11 换序避免

_涛子_BOOK
2020-03-14
为什么synchronized连续锁两个对象,之间没有sleep就不会发生死锁,,,多个线程不还是线程1先获取from,再获取to,线程2,先获取to再获取from么
写回答
2回答
-
紫钰
2020-03-26
我理解sleep并不是必须的,因为两人转账的代码不加sleep的话,发生死锁的概率极低,sleep只是放大了这个概率罢了(说是放大,其实是变成了100%出现)
00 -
无心铁憨憨
2020-03-14
同学你好,你没有贴代码,我也不知道具体是怎么的,不过按照你描述的所说,不加sleep的话,应该也是有几率发生死锁的,你可以多尝试几次,第一个线程在获取的from之后进行休眠,是为了保证线程2能获取到to,这样就会发生死锁的
00
相似问题