我有一段受Mutex保护的代码
pthread_mutex_lock(&Mutex1);
write(fid,data_buffer,size);
pthread_mutex_unlock(&Mutex1);
最多可以调用两个函数:func1()
和func2()
。但是,互斥锁write()
可能并不总是返回 - 即它在某些条件下等待它返回之前发生。因此,如果func1()
调用write()
并且未返回,则互斥锁永远不会被解锁,func2()
永远无法调用write()
。如果write()
永远不会返回以避免这种死锁,有没有办法强制释放互斥锁?也许除了互斥之外还有其他选择吗?
由于