84得票6回答
互斥锁是如何实现的?

一些实现在特定应用方面比其他实现更好吗?自己开展有什么收益?

84得票3回答
C++11:为什么std::condition_variable使用std::unique_lock?

我对在使用std::condition_variable时,std::unique_lock的作用有些困惑。根据我理解文档,std::unique_lock基本上是一个臃肿的锁定保护器,并且可以在两个锁之间交换状态。 到目前为止,我一直使用pthread_cond_wait(pthread_...

84得票8回答
何时需要条件变量,互斥锁不够吗?

我相信互斥锁并不足够,这就是条件变量存在的原因;但我还没有能够用具体场景说服自己必须要用条件变量。 条件变量、互斥锁和锁之间的区别问题的被接受答案指出,条件变量是带有“信号”机制的锁。它在线程需要等待资源可用时使用。一个线程可以"等待"一个条件变量,然后资源生成者可以"signal"这个变量...

82得票9回答
pthreads互斥锁 vs 信号量

pthread库提供的信号量(semaphores)和互斥锁(mutex)有何区别?

78得票8回答
何时使用递归互斥锁?

我理解递归互斥锁允许多次锁定互斥锁而不会导致死锁,应该解锁相同的次数。但在什么具体情况下需要使用递归互斥锁? 我正在寻找设计/代码级别的情况。

77得票6回答
Python在Linux上的系统范围互斥锁

有没有一种简单的方法在Linux上使用Python实现系统范围内的互斥锁?所谓的“系统范围内”,是指互斥锁将被一组Python进程使用;这与传统的互斥锁不同,后者由同一进程内的一组线程使用。 编辑:我不确定Python的multiprocessing包是否是我需要的。例如,我可以在两个不同的...

77得票3回答
pthread_cond_wait()和pthread_cond_signal()的理解

一般来说,pthread_cond_wait()和pthread_cond_signal()的调用方式如下: //thread 1: pthread_mutex_lock(&mutex); pthread_cond_wait(&cond, &mutex); do_so...

66得票3回答
条件变量、互斥锁和锁之间的区别

例如,C++11接口。 我在弄清楚何时使用这些东西(cv、mutex和lock)方面遇到了困难。 有人能解释一下或指点一下资源吗? 提前感谢。

61得票10回答
为什么在释放Mutex的时候,Mutex没有被释放?

I have the following code: using (Mutex mut = new Mutex(false, MUTEX_NAME)) { if (mut.WaitOne(new TimeSpan(0, 0, 30))) { // Some co...

59得票3回答
类成员中的 std::mutex 与 std::recursive_mutex 的区别

我看到一些人厌恶recursive_mutex: http://www.zaval.org/resources/library/butenhof1.html 但是当考虑如何实现一个线程安全的类(受互斥保护)时,我觉得非常难以证明每个应该受互斥保护的方法都被保护,并且互斥锁最多只被锁定一次。...