实战并发编程 - 07循环等待&死锁问题

Posted 小小工匠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实战并发编程 - 07循环等待&死锁问题相关的知识,希望对你有一定的参考价值。


Pre

【账户A】转账给【账户B】,同时【账户B】也转账给【账户A】,两个账户都需要锁住余额,所以通常会申请两把锁。转账时,先锁住自己的账户,并获取对方的锁,保证同一时刻只能由一个线程去执行转账。

这时可能就会出现,对方给我转账,同时我也给对方转账,那么双方都持有自己的锁,且尝试去获取对方的锁,这就造成可能一直申请不到对方的锁,循环等待发生“死锁”的问题࿰

以上是关于实战并发编程 - 07循环等待&死锁问题的主要内容,如果未能解决你的问题,请参考以下文章

Day826.Java多线程等待&通知机制 -Java 并发编程实战

Java并发编程实战之互斥锁

Java并发编程实战之互斥锁

《Java并发编程实战》----线程池的使用

并发编程之死锁

《Java并发编程实战》第十章 避免活跃性危急 读书笔记