118得票6回答
使用boost shared_mutex实现多读单写的示例?

我有一个多线程应用程序,需要经常读取一些数据,偶尔会更新这些数据。现在,一个互斥锁确保对这些数据的访问安全,但是因为我希望多个线程能够同时读取而不被锁定,在需要更新时再锁定(更新线程可以等待其他线程完成),所以这种方式的代价很高。 我觉得boost::shared_mutex可能能够解决这个...

118得票10回答
Java中的互斥锁和信号量是什么?它们的主要区别是什么?

互斥锁和信号量在Java中是什么?它们之间的主要区别是什么?

113得票5回答
在C++中,如何处理可移动类型的互斥锁?

按照设计,std::mutex 不可移动也不可复制。这意味着一个拥有互斥锁的类 A 将不会接收默认移动构造函数。 我该如何以线程安全的方式使这种类型 A 可移动?

106得票4回答
PTHREAD_MUTEX_INITIALIZER与pthread_mutex_init(&mutex, param)的区别

是否有任何区别pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; 或者pthread_mutex_t lock; pthread_mutex_init ( &lock, NULL); 如果我只使用第一种方法,我是否足够安全?注意:我的问题...

105得票4回答
Python中互斥锁的正确使用方法

我正在使用Python编写多线程程序(或者说我的脚本可能会创建多个线程)。以下算法是否正确使用了互斥锁?我还没有测试过这段代码,而且它可能甚至无法正常工作。我只是想让processData在一个线程中运行(一次只能运行一个),而主while循环可以继续运行,即使有一个线程在队列中。 from...

95得票3回答
在未锁定互斥量的情况下调用pthread_cond_signal

我在某处读到,我们应该在调用pthread_cond_signal之前锁定mutex,并在调用后解锁mutex: pthread_cond_signal()例程用于向等待condition变量的另一个线程发出信号(或唤醒)。它应该在锁定mutex之后调用,并且必须在pthread_cond_...

92得票6回答
具有并发访问的映射表

在程序中使用具有并发访问的地图时,读取值的函数是否需要使用互斥锁?

90得票4回答
确定正在持有互斥锁的线程是否可能?

首先,我使用pthread库编写多线程C程序。线程总是在等待其互斥锁时挂起。当我使用strace工具查找处于FUTEX_WAIT状态的线程时,我想知道此时哪个线程持有该互斥锁。但我不知道怎么做。是否有任何工具可以实现这一点? 有人告诉我Java虚拟机支持此功能,所以我想知道Linux是否支持此功能。

84得票2回答
互斥锁是否应该是可变的?

不确定这是一个风格问题还是有硬性规定的事情... 如果我想尽可能地保持公共方法接口的const,但是又想使对象线程安全,那么我应该使用可变的互斥量吗?总的来说,这是好的编程风格,还是应该优先考虑非const的方法接口?请阐述你的观点。

84得票2回答
何时或为什么应该在 RwLock 上使用 Mutex?

当我阅读Mutex和RwLock的文档时,我看到的区别如下: Mutex一次只能有一个读者或写者。 RwLock一次可以有一个写者或多个读者。 按照这种方式,RwLock似乎总是比Mutex更好(更少受限),那么我为什么还要使用它呢?