单个进程/线程被阻塞试图获取相同的互斥锁时的情况可以称为“死锁”吗?
mutex_lock(&mutex) - 成功
...
mutex_lock(&mutex) - 被阻止,互斥锁未释放
似乎“不可剪切资源”的条件不适用:这里只有单个进程/线程,因此没有不可剪切资源保持和等待的情况:这里只有单个进程,因此无需等待另一个进程释放请求的资源
单个进程/线程被阻塞试图获取相同的互斥锁时的情况可以称为“死锁”吗?
mutex_lock(&mutex) - 成功
...
mutex_lock(&mutex) - 被阻止,互斥锁未释放
似乎“不可剪切资源”的条件不适用:这里只有单个进程/线程,因此没有不可剪切资源保持和等待的情况:这里只有单个进程,因此无需等待另一个进程释放请求的资源
是的,这是考虑过的,或者可能会*导致死锁。
该术语不受线程或进程的约束——而是请求。
假设您的锁 ( mutex
)不是可重入的,并且假设您的资源在变异时被锁定,并且从多个来源变异资源是错误的。当/如果您的单线程进程尝试在突变中启动数据的新突变并且请求锁定被锁定的不可重入锁时会发生什么?僵局
'潜在地',因为您没有确切指定您正在处理的互斥锁类型。
不,这不是死锁。
如果四个条件同时成立,就会出现死锁。
对于单个进程,永远无法满足循环等待条件,因此单个进程永远不会出现死锁。