腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
为什么
互斥
锁在
LevelDB
中
锁
了
两次
?
、
、
我正在学习
levelDB
C++项目,这里是这样的情况,Status s = Write(WriteOptions(), nullptr)触发了一个压缩工作,然后进入while循环等待信号,压缩线程转到BackgroundCall方法,它还需要锁定mutex_,我不确定TEST_CompactMemTable是否仍然持有
互斥
锁
,所以我在Lock和Unlock方法
中
打印调试消息。mutex lockBackgroundCallmutex unlock TEST_Compac
浏览 44
提问于2021-07-28
得票数 0
回答已采纳
2
回答
如果在共享内存
中
,pthread
互斥
锁
能跨线程工作吗?
、
、
、
、
我发现
了
这个:这里的问题/答案似乎暗示: 如果我有两个独立进程A和B,它们有一个共享的内存区M。我可以把一个pThread
互斥
锁
放在M
中
,
锁在
A
中
,
锁在
B
中
,解
锁在
A
中
;B将不再阻塞
互斥
锁
。这是正确的吗?pThread
互斥
锁
可以
浏览 23
提问于2010-03-06
得票数 23
1
回答
为什么
当我在同一线程
中
两次
使用pthread_mutex_lock时,没有发生核心转储?
、
pthread_mutex_init(&mtx, NULL); pthread_mutex_lock(&mtx);} 我在CentOS7
中
运行这段代码,我希望有一个核心转储文件,但它没有,程序只是死在命令行
中
。我认为pthread
互斥
锁在
默认情况下是非递归
互斥
锁
,而且我的程序
中
只有一个线程,所以当我锁住这个
互斥
锁
<
浏览 0
提问于2021-03-02
得票数 0
4
回答
互斥
锁
到底是如何工作的?
、
、
、
互斥
背后的思想是在任何时候只允许一个线程访问内存的一部分。如果一个线程锁定
互斥
锁
,任何其他的
锁
尝试都将被阻止,直到第一个线程解锁。然而,这是如何实现的呢?要锁定自己,
互斥
锁
必须在某处设置一个位,表明它被锁定
了
。但是,如果第二个
互斥
锁在
读的同时第一个
互斥
锁在
写,该怎么办呢?更糟糕的是,如果它们同时锁定
互斥
锁
呢?
互斥
锁
将会屈服于它想
浏览 0
提问于2012-08-02
得票数 36
回答已采纳
1
回答
Windows线程休眠和从另一个线程唤醒
、
、
我有一个运行在一个类
中
的线程,我想让它自己休眠,当另一个线程唤醒它时,如果可能的话,不传递
互斥
或其他元素,所以它是自包含的。基本上,我已经尝试了在线程
中
调用WaitForSingleObject
两次
的
互斥
锁
的方法,期望它使
互斥
锁在
第一次调用时不发出信号,但每次函数都返回0,因为
互斥
锁
已经发出信号,而线程是
互斥
锁
的所有者并保持所有者例如,我预计一旦进入睡眠状态,就会调用一个类方法来释
浏览 2
提问于2013-02-19
得票数 1
回答已采纳
1
回答
等待线程关闭时发生Boost
互斥
抛出错误
、
、
有没有办法让一个boost
互斥
锁在
任何等待线程上抛出异常?我有一个问题,一个对象被删除了,但对软件库的性质来说,线程可能仍然在对象
中
的
互斥
锁
等待,当
互斥
锁
关闭时会抛出一个相当糟糕的异常。我想我可以使用多个
互斥
锁
计数器,但这可能会导致性能下降。我希望发生的情况是,
互斥
锁在
关闭时正在等待的任何线程上抛出异常,以便展开堆栈。有没有一种与平台无关的干净利落的方法?
浏览 1
提问于2013-01-14
得票数 1
回答已采纳
1
回答
关于pthread_cond_wait原子性运算的几个问题
、
、
众所周知,pthread_cond_wait的调用方将传递一个
锁在
函数上的
互斥
锁
,然后将调用线程原子地放置在等待条件的线程列表
中
,并解锁
互斥
锁
。我想知道
为什么
这两个步骤: 如果它们不是原子性的,那么会发生什么呢?
浏览 0
提问于2018-03-18
得票数 0
8
回答
递归锁定(Mutex)与非递归锁定(Mutex)
、
、
、
、
POSIX允许
互斥
锁
是递归的。这意味着同一线程可以锁定同一
互斥
锁
两次
,而不会死锁。当然,它还需要解锁
两次
,否则其他线程都无法获得
互斥
锁
。一些系统/语言(例如Cocoa Objective-C)同时提供递归和非递归
互斥
锁
。有些语言也只提供一种或另一种。例如,在Java
中
,
互斥
锁
总是递归的(同一个线程可以在同一个对象上“同步”
两次
)。根据它
浏览 8
提问于2008-10-09
得票数 195
回答已采纳
1
回答
用std::mutex实现信号量
、
、
cout << "App End" << endl; return 0;程序抛出一个异常,上面写着“解锁未拥有的
互斥
物我认为错误发生在writeLock()或writeUnlock()
中
,但我不确定。谁能给我指明正确的方向?编辑:在构造函数
中
初始化std::defer_lock时缺少一个lk,但是它没有修复我得到的错误。正如评论中提到的那样,这不是信号量,我对此表示歉
浏览 2
提问于2013-09-18
得票数 4
回答已采纳
1
回答
pthread_mutex_lock.c:62:__pthread_mutex_lock:断言‘`mutex>__ == 0’失败
、
、
、
但是,我不确定下面的代码:std::mutex lock;
锁
和解锁顺序: std::unique_lock<std::mutex>
浏览 4
提问于2012-02-11
得票数 8
回答已采纳
1
回答
boost::recursive_mutex::scoped_locks析构函数会引用一个未锁定的
互斥
锁
吗?
、
、
、
、
在boost::recursive_mutex::scoped_lock上调用unlock()之后,
锁
对象会以某种方式在其析构函数
中
引用
互斥
锁
吗?如果
互斥
锁在
锁
超出作用域之前就被销毁了,那么是否也需要在锁上调用release()?
浏览 5
提问于2011-03-11
得票数 1
回答已采纳
1
回答
c++:自旋
锁
或
互斥
比较(简单计算)
、
、
、
、
对于简单的任务,自旋
锁
应该比
互斥
锁具有更好的性能。但是,在这个简单的测试(增加计数器的8个线程)
中
,结果显示
了
不同的结果:#include <thread>#include/a.outreal 0m18.206ssys 0m0.003s$ g++ -std=c++11/
浏览 3
提问于2015-04-05
得票数 1
回答已采纳
1
回答
互斥
锁
vs线程
锁
。使用哪一个?
、
、
、
我的主要问题是线程
锁
对象会创建原子
锁
吗?它并没有说
锁在
模块文档
中
是原子的。在pythons的
互斥
锁
文档
中
,它确实说
互斥
锁
是原子的,但我似乎在某处读到了事实并非如此。我应该使用哪个
锁
。我目前使用python 2.4运行我的脚本
浏览 0
提问于2010-07-24
得票数 8
回答已采纳
1
回答
在特定计算机上,Mutex.waitOne始终返回False
、
、
、
我有一段依赖于
互斥
来保护它的代码。当我在我的开发机器和测试机器上运行这段代码时,它工作得很好。但是当我把它推到生产机器上时,它就失败
了
。
互斥
声明如下:使用它的代码块如下Method 2/11/2013 3:59:06 PMHere2 return mutex ForwardTextMessage: Metho
浏览 0
提问于2013-02-12
得票数 2
回答已采纳
2
回答
怎么可能锁定一个GMutex
两次
呢?
、
、
、
我使用下面的类来锁定和解锁作用域上下文中的
互斥
锁
。这类似于BOOST的后卫。.-> - MUTEX LOCK 0x26abb40,0x7fc14ad7ae10使用相同的
互斥
锁
但不同的实例连续记录
两次
;因此,这表明
互斥
锁
被锁定
了
两次
,或者第二个
锁
被忽略
了
-这是非常糟糕的。此外,值得注
浏览 0
提问于2011-04-07
得票数 0
回答已采纳
2
回答
如何从strace输出
中
确定程序的哪一部分未能获取
互斥
对象?
、
、
、
然而,我现在需要弄清楚如何识别代码中试图获取这个
互斥
体的位置。我怎么能这么做?我们的代码是用GCC编译的,里面有调试符号。我目前的想法(我还没有试过)是打印一个字符串,在我们的系统
中
获取任何
互斥
之前,先打印一个字符串到stdout并刷新,期望字符串在strace抱怨获得
锁
之前打印。
为什么
突然开始
了
?根据我所读到的,我认为它们可能在用户空间中被正确地使用,直到某些东西失败并退回到制造futex() syscall. 有什么建议吗?
浏览 5
提问于2015-09-23
得票数 1
2
回答
为什么
在类声明中使用宏
、
我正在阅读
leveldb
的源代码,特别是。关于
互斥
锁
。我发现
了
这个声明: public: MutexLock(const MutexLock&);}; 我发现SCOPED_LOCKABLE被定义为空的,那么
为什么</e
浏览 0
提问于2013-05-29
得票数 5
2
回答
互斥
锁
是如何工作的?
我目前正在研究
互斥
锁
是如何工作的。我想我有点掌握它
了
。图片下面的假设是正确的吗?这里我们有两个进程,Pi和Pj,它们想要执行它们的临界区,我试图解释
互斥
锁
是如何工作的,以防止竞争条件的发生。Pi尝试使用acquire()获取
锁
。对于下一个想要获取
锁
以执行其临界区的进程,该循环会重复该循环
浏览 2
提问于2017-10-16
得票数 1
1
回答
任何
互斥
实现是否允许从一个线程锁定,并在另一个线程
中
解锁?
在其他地方的一次讨论
中
,有人提议可能存在一些平台,在这些平台上,除了锁定
互斥
锁
的线程之外,还可以从线程
中
解锁
互斥
锁
。 我不相信,但我的经验仅限于从未被允许的平台;是否有任何平台允许它?如果你不能再假设一个
互斥
锁
仍然
锁在
锁
和解锁的步骤,在我看来,这一点似乎是失败的。是否在某些情况下必须这样做,并且能够安全地进行呢?
浏览 2
提问于2015-05-14
得票数 0
回答已采纳
1
回答
阻塞代码和回调。如何将阻塞码转换成非阻塞码?
、
、
、
、
此内部状态由其他线程访问,因此由
互斥
保护。
浏览 2
提问于2021-09-18
得票数 0
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券