16得票8回答
获取函数需要互斥锁吗?

我有一个被多个线程访问的类。其getter和setter函数都受到锁的保护。 那么,getter函数真的需要使用锁吗?如果需要,原因是什么?class foo { public: void setCount (int count) { boost::lock_guar...

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

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

12得票2回答
C++17的std::shared_mutex还没有发布吗?

查看C++编译器支持,似乎未定时版本的std::shared_mutex在GCC 5.0+中可用。但是,即使使用gcc版本5.3.0 20151204(Ubuntu 5.3.0-3ubuntu1~14.04)并使用-std=c++1z编译,一个共享互斥锁的简单初始化最终会得到:error: ‘...

14得票12回答
什么样的循环是for (;;)?

在torvalds/linux-2.6.git -> kernel/mutex.c的第171行找到 我已经试图在Google和其他地方找到它,但没有结果。 for (;;)指令是什么意思?

8得票3回答
互斥锁上的锁是否也适用于调用的函数?

如果在函数内定义了互斥锁,那么它的锁是否适用于从该函数调用的函数?例如: void f () { Mutex mutex; g(); } 锁是否仍适用于g()中的任何数据修改? 另外,我说一个在类方法中定义的锁只适用于该类的特定实例,这样说对吗?也就是说: ...

8得票3回答
在while循环检查中处理互斥变量

如果一个变量在一个线程中被修改并且使用互斥锁进行正确的锁定和解锁,那么当另一个线程中的while循环读取该值时,如何锁定和解锁互斥锁,这是必要的吗? 我在一个线程中设置了一个变量,并使用while循环在另一个线程中进行检查。在while循环条件中,该变量如何被锁定和解锁? 唯一合理的方法是...

15得票2回答
C++11及以上版本中,std::mutex是否应该声明为全局变量而不是作为函数参数传递给std::thread?

我看到大多数使用std::mutex的例子中,互斥锁是全局的。我想知道这样做的特定原因是什么?在我的程序中,我没有这样做,而是将互斥锁作为std::thread std::ref传递。拥有全局变量不是一个好的实践,如果没有语言限制要求这样做,C++中为什么要使用全局std::mutexes?

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

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

9得票2回答
互斥函数互相调用

我有两个函数foo和bar,它们应该是互斥的,因为它们操作相同的数据。然而,foo复制了很多bar的代码,所以我想重构foo使其调用bar。 这是一个问题,因为我不能为两个函数使用单个互斥体,否则当foo调用bar时,foo会死锁。因此,我只需要在不同的线程之间实现“互斥”。 是否有一种模...

7得票1回答
从另一个进程中删除互斥锁

使用主题概述-句柄枚举,编号5,尝试关闭另一个进程的互斥对象并结合来自互斥分析,煤矿中的金丝雀和发现新的恶意软件家族/的信息,我提出了: 尝试1:http://pastebin.com/QU0WBgE5 您必须首先打开记事本。不用说,这对我没有起作用。我需要更好的错误检查来弄清发生了什么。...