单个进程/线程在试图获取同一个互斥锁时被阻塞的情况可以称为“死锁”吗?
mutex_lock(&mutex) - 成功
...
mutex_lock(&mutex) - 阻塞,互斥体未释放
似乎“不可剪切资源”的条件不适用:这里只有单个进程/线程,因此没有不可剪切资源的情况 hold and wait:这里只是单进程,不等待其他进程释放请求的资源
最佳答案
是的,这是被考虑过的,或者可能会*导致死锁。
该术语未绑定(bind)到线程或进程 - 但请求。
假设您的锁 (mutex
) 是不可可重入的,并且假设您的资源在发生变异时被锁定,并且从多个来源改变资源是错误的。当/如果您的单线程进程尝试在突变中启动数据的新突变并且请求锁定已锁定的非重入锁时会发生什么?死锁
“可能”,因为您没有具体指定您正在处理的互斥体类型。
关于c++ - 单个进程中的死锁 -?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570771/