概述
- 先提个问题,死锁是怎么产生的?
带着问题来了解下死锁。死锁,是多个线程或进程在运行过程中因争夺资源而造成的一种僵局,当进程或线程处于这种僵持状态,若无外力作用,它们将无法再向前推进。如下:
出现这种情况,就产生了死锁,中间有一个环。 - 如何检测死锁
既然知道了产生的条件,死锁产生,必有一个环。那么,只要检测出环,就知道了死锁是否存在。
实现
来看下如何实现,一点一点看吧,如下:
数据结构
图算法
深度优先
之前写过深度优先相关的内容, 可以看下深度优先。之前用python写的,可以找个ai工具,生成一个c++相关的。看下我们的,如下:
小结
这一篇主要写了死锁检测相关的内容。主要写了2个问题,死锁产生,死锁检测;然后给了相关的解释和例子。学内容,个人觉得就是应该先有一些问题,然后去一点一点推敲,当然也可以借助一些ai工具。kimi的解释,如下:
豆包的,如下:
都是很不错的,可以借鉴下。当然,感兴趣,可以看看这里,都是很不错的。OK,结束。