当单个进程/线程被阻塞以获取相同的互斥锁时,可以称为“死锁”吗?单进程死锁 - ?
的mutex_lock(&互斥) - 成功
...
的mutex_lock(&互斥) - 受阻,互斥没有公布
似乎为 “nonshearable资源” 情况不适用:这里是唯一的单进程/线程,以便没有nonshearable资源 保持的情况下,等待:这里只有一个处理器,因此无需等待另一个进程释放请求的资源
当单个进程/线程被阻塞以获取相同的互斥锁时,可以称为“死锁”吗?单进程死锁 - ?
的mutex_lock(&互斥) - 成功
...
的mutex_lock(&互斥) - 受阻,互斥没有公布
似乎为 “nonshearable资源” 情况不适用:这里是唯一的单进程/线程,以便没有nonshearable资源 保持的情况下,等待:这里只有一个处理器,因此无需等待另一个进程释放请求的资源
是的,这被认为是,或将可能*导致僵局。
该术语不绑定到线程或进程 - 但请求。
假设你的锁(mutex
)是不折返,而一旦发生突变假设你的资源被锁定,它是突变来自多个来源的资源错误。如果您的单线程进程尝试在变化中尝试启动数据的新变化,并且锁定的非再入锁被请求锁定,会发生什么情况?死锁
'潜在',因为您尚未指定您正在处理的是哪种类型的互斥锁。
不,它不是死锁。如果四个条件同时保持
死锁可能出现。
随着单个进程,所述循环等待条件不能得到满足,从而死锁可以从不与单个进程出现。
使用[递归互斥](http://stackoverflow.com/q/187761/60761)问题不会发生。没有它,这只是算法中的一个错误。 –
绝对......我只是想知道与Colleman的“4个必要的死锁条件”有明显的正式差异: 2.持有并等待或持有资源:当前持有至少一个资源并请求正在持有的额外资源通过其他进程 - 在这种情况下没有其他进程 – user270398
您的线程正在请求已被线程占用的资源。这是相同的线程无关紧要,只是奇特的。 –