58得票6回答
在同一个对象上进行两次同步?

我在想,在Java中,如果我在同一个对象上进行两次同步,是否会出现任何奇怪的行为? 情景如下:pulbic class SillyClassName { object moo; ... public void method1(){ synchroni...

57得票3回答
C++11中与boost shared_mutex相当的内容

在C++11中是否有与boost::shared_mutex相当的东西?或者有其他解决方案可以处理C++11中的多读/单写情况吗?

56得票6回答
我需要为读取操作使用互斥锁吗?

我有一个类,其中包含一个状态(一个简单的枚举),并且由两个线程访问。为了更改状态,我使用了一个互斥锁(boost::mutex)。在此情况下,检查状态(例如比较state_ == ESTABLISHED)是否安全?换句话说,当我只想读取可能被另一个线程并发写入的变量时,我需要使用互斥锁吗?

56得票4回答
你如何使用POSIX线程声明递归互斥锁?

我有点困惑如何使用pthread声明递归互斥锁。 我的目标是让一次只有一个线程能够运行一段代码(包括函数),但经过怀疑后,我发现使用互斥锁不起作用,而应该使用递归互斥锁。以下是我的代码: pthread_mutex_lock(&mutex); //...

55得票4回答
std::thread.join() 是什么作用?

根据C++参考文献: 阻塞当前线程,直到由*this标识的线程完成其执行。 那么这是否意味着使用.join()时,当该线程调用某个函数时就不需要mutex.lock()了呢?我对互斥和线程还很陌生,所以有点困惑。 注意:我找到了一本书C++并发编程实战,正在阅读。对于像我这样的多线程...

54得票3回答
监视器与互斥锁

我了解到互斥锁是一个值为1(二进制信号量)的信号量,用于实现互斥。 我阅读了这个链接Semaphore vs. Monitors - what's the difference? 其中提到监视器有助于实现互斥。 有人能告诉我互斥锁和监视器之间的区别吗?因为它们都可以实现相同的目的(互斥)。

54得票9回答
"mutex"一词的复数形式是"mutexes"。

“mutex”的正确复数形式是什么?是“mutexes”还是“mutices”?

52得票7回答
互斥锁函数在没有volatile的情况下是否足够?

我和同事开发了适用于各种平台的软件,这些平台运行在x86、x64、Itanium、PowerPC和其他10年前的服务器CPU上。 我们刚刚讨论了诸如pthread_mutex_lock() ... pthread_mutex_unlock()这样的互斥函数是否足够,或者是否需要使用volat...

52得票13回答
WPF 单实例最佳实践

这是我迄今为止实现创建单个实例 WPF 应用程序的代码:#region Using Directives using System; using System.Globalization; using System.Reflection; using System.Threading; usi...

51得票3回答
pthread_mutex_lock是如何实现的

我只是好奇Unix内部如何实现与线程同步相关的函数。例如,调用pthread_mutex_lock时会发生什么?是否有指针在使用?参考源代码将非常有帮助。