linuxc怎么初始化同步锁为0

就是我有一个线程会一直请求lock(mutex),我想初始化mutex为0让这个线程一开始请求不到锁。因为默认方式pthread_mutex_t mutex;就像mutex=1一样是可以被lock的

阅读 2k
2 个回答

默认是未锁定的。你可以初始化之后,显示的lock一下。

不过没想明白,你为什么要这样做。

这个需求很常见,但用直接用lock做比较绕

pthread多线程库本身有一个条件变量系列的函数你了解一下
pthread_cond_*
下面来自百科
条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题