腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
当
使用
互斥
锁
和
条件
变量
作为
成员
时
,
如何
修复
“
删除
函数
的
使用
”?
、
、
我正在做一些多线程
的
练习,但是我不能让这个代码通过编译。我在网上搜索,但到目前为止还不能确切地确定原因。foo_thread = std::thread(&FooBar::foo, foobar, printFoo); return 0; } 如果我不添加
互斥
锁
和
条件
变量
,这段代码可以很好地编译
和
运行。
浏览 20
提问于2019-10-15
得票数 2
回答已采纳
4
回答
关于C++中
的
条件
变量
、
我正在下面的位置浏览
条件
变量
文章 my_condition.wait( ul );}为什么在
浏览 6
提问于2011-08-01
得票数 2
回答已采纳
1
回答
是否需要在
使用
后重置pthread
条件
变量
?
、
、
刚刚开始
使用
pthread
和
条件
变量
。我有一个对象,它有两个
互斥
锁
和
一个
条件
变量
作为
成员
。 我在构造
函数
中将它们全部初始化。在
使用
条件
变量
向等待线程发出信号后,如果对象
的
状态发生变化并且
条件
不再为真,我是否需要以某种方式重置它?或者这是在切换
条件
变量
并通知所
浏览 0
提问于2010-08-01
得票数 3
回答已采纳
1
回答
pthreads等待并发出信号表示怀疑linux
、
、
在pthread等待之前,我们
使用
互斥
锁
,这样其他代码就不会尝试更改
条件
变量
。等待,然后解锁
互斥
锁
并等待信号。 比方说,在其他线程中,我锁定了相同
的
互斥
锁
,在那之后,我
使用
了“signal”。
当
信号完成
时
,等待
的
线程唤醒并再次获取
互斥
锁
。然后假设thread2锁定
互斥
锁
,给它
浏览 1
提问于2012-07-27
得票数 1
回答已采纳
1
回答
现在,为什么Monitor需要一个
条件
变量
?
、
、
、
、
当你查看C#
的
Monitor类
时
,你会发现在它
的
实现中你有一个
条件
变量
和
一个
互斥
量。
互斥
量是由一个新
的
线程获得
的
,如果它还没有被另一个线程获得,然后它继续检查
条件
变量
,如果它是true,线程可以继续,如果它不是真,那么它被放在
条件
变量
的
线程睡眠队列中,以便在
条件
变量
再次变为真
时</em
浏览 1
提问于2014-07-03
得票数 2
3
回答
与普通
互斥
锁相比,唯一
的
锁
是
如何
工作
的
?
、
、
我看到了一个提供
的
代码示例。顺便说一下,这本书
的
评论很差。m_finishedQueryLock.lock(); m_finishedQueryLock.unlock();我不满意这本书对它
的
工作原理
和
为什么要
使用
它
的
解释我已经知道
互斥
锁
是
如何
工作
的
,以及它
的
实现,但是我很难理解上面代码
的
第二行。为什么它有一个可变<e
浏览 2
提问于2015-08-21
得票数 3
回答已采纳
2
回答
条件
变量
和
无
锁
容器
、
、
条件
变量
使用
互斥
锁
,.wait()
函数
解锁
互斥
锁
,这样另一个线程就可以访问共享数据。
当
通知
条件
变量
时
,它会再次尝试锁定
互斥
锁
以
使用
共享数据。std::queue,因此很明显,在访问队列
时
必须锁定
互斥
锁
。但是假设
使用
来自PPL
的
而不是std:
浏览 1
提问于2013-06-10
得票数 3
回答已采纳
2
回答
等待
函数
究竟是
如何
工作
的
(关于
条件
变量
)
、
对于
条件
变量
是
如何
工作
的
(在共享数据并发访问方面),我有点困惑。下面是伪C代码来说明我当前
的
问题void cakeMaker() lock(some_lock); while(number_of_cakesThread 1运行并将number_of_cakes增加1,然后调用signal(rack_has_cakes) --这唤醒了Thread 2,不幸
的
是,Thread 2在Thread 1调用unl
浏览 3
提问于2017-12-14
得票数 8
回答已采纳
1
回答
两个线程都阻塞了对boost::mutex::lock()
的
调用
、
我有一个在两个线程中
使用
的
boost::mutex。第一个线程不断地锁定和解锁
互斥
锁
。第二个线程只在特定
条件
下
使用
互斥
锁
。
当
这种情况发生
时
,两个线程都会在锁上阻塞。这是什么原因造成
的
呢?关于我
的
程序
的
一些随机事实:
互斥
是在两个线程之间共享
的
类
的
数据
成员
。在第二个线程中,我将一个指向
互斥
浏览 1
提问于2011-10-06
得票数 0
回答已采纳
2
回答
避免pthread_cond_wait
和
pthread_cond_signal出现死锁
、
我有一个关于
使用
pthread
条件
变量
的
问题。pthread_mutex_unlock(&mutex); pthread_cond_signal(&cond); 现在我知道pthead_cond_wait将解锁
互斥
锁
并进入睡眠状态,
当
唤醒
时
,它将锁定
互斥
锁
,然后从调用返回,但是
如何
确保在线程1处于等待状态之后,来自线程2
的</
浏览 0
提问于2015-06-04
得票数 2
1
回答
健壮
的
共享内存
互斥
锁
我计划在IPC中
使用
共享内存
互斥
。
当
其中一个进程在释放
互斥
锁
之前意外死亡
时
,我
如何
避免死锁
条件
? 我知道其中一个解决方案是让
互斥
锁
变得健壮。但是,存在一个glibc bug,
互斥
锁
可以随机挂起(参见)。看起来这个问题并没有在我
使用
的
glibc中被
修复
。即使在较新
的
版本中进行了
修复
,我也没有升级
浏览 0
提问于2018-03-26
得票数 0
2
回答
关于pthread_mutex_lock
的
一些问题
当
thread1已经获得
互斥
对象上
的
锁
时
,如果thread2试图获得同一
互斥
对象上
的
锁
,thread2将被阻塞。我
的
问题是: 1. thread2
如何
知道
互斥
锁
对象是解锁
的
?2. thread2会在预定
的
时间间隔尝试获取
锁
吗?
浏览 1
提问于2010-06-23
得票数 0
3
回答
使用
条件
变量
比
使用
互斥
锁
的
优点
、
、
、
、
我想知道在pthread中
使用
条件
变量
比
使用
互斥
锁
有什么性能优势。但是看起来
互斥
调用也是阻塞
的
(不像自旋
锁
)。因此,如果一个线程( T1 )因为其他线程( T2 )拥有该<em
浏览 3
提问于2011-01-20
得票数 38
回答已采纳
1
回答
pthread_cond_broadcast解除阻塞不等待
条件
变量
的
线程
、
、
我正在
使用
POSIX,我有3个线程。线程1正在
使用
pthread_cond_wait等待要满足
的
条件
(等待在while循环内,所以它也不是无
条件
的
等待)。
当
满足
条件
时
,线程2将发出一个pthread_cond_broadcast。线程3
使用
互斥
锁
,但不等待
条件
浏览 1
提问于2016-05-10
得票数 0
回答已采纳
1
回答
在接收到来自cond
变量
的
信号后,我们需要解锁
互斥
锁
吗?
、
、
、
我用C语言制作了一个带有
互斥
变量
和
条件
变量
的
教育应用程序。while (!is_done == 0)) 你能解释一下吗,
当
信号使
互斥
锁
被锁定时,
当
信号使
互斥
锁</em
浏览 1
提问于2018-06-20
得票数 0
回答已采纳
1
回答
互斥
锁
,但其他线程正在进入关键部分。
、
、
、
、
我们研究过,如果我们处理多线程问题,那么我们
使用
一种称为
互斥
的
线程同步方法,允许锁定关键部分,以便其他线程不会干扰,进入阻塞状态,直到
互斥
解锁关键部分。但是我在我
的
程序中做这件事,但是这个程序
的
输出与
互斥
的
概念不匹配。如果我错了,请纠正我。140580582618880 Waiting Thread id:140580565833472 所有线程进入关键部分,即使
互斥</
浏览 0
提问于2017-05-02
得票数 2
回答已采纳
1
回答
无
锁
队列轮询最快
的
无竞争方法是什么?
、
、
、
、
假设我们有一个单生产者线程
的
单用户线程无
锁
队列,并且生产者可以长时间运行而不产生任何数据。
当
队列中没有任何东西
时
,让
使用
者线程休眠将是有益
的
(为了节省电力
和
为其他进程/线程释放CPU )。如果队列不是无
锁
的
,那么解决此问题
的
简单方法是让生成线程锁定
互斥
锁
,完成其工作,发送
条件
变量
并解锁,以及读取线程锁定
互斥
锁<
浏览 1
提问于2010-11-21
得票数 6
3
回答
作为
类
成员
的
std::mutex vs std::recursive_mutex
、
、
、
、
我在recursive_mutex上看到过一些人讨厌 但是,
当
考虑
如何
实现线程安全
的
类(
互斥
保护)
时
,对我来说,似乎很难证明每个应该保护
互斥
的
方法都是
互斥
保护
的
,并且
互斥
最多被锁定一次。因此,对于面向对象
的
设计,是否应该在一般情况下默认
使用
std::recursive_mutex,并将std::mutex视为性能优化,除非它只在一个地方
使用
(只保护一个资源)?为
浏览 9
提问于2013-01-24
得票数 54
回答已采纳
1
回答
哪个适合
条件
变量
: pthread_cond_t,sem_t还是pthread_mutex_t?
、
、
、
、
这里有:一个提供者线程"thP":
当
从网络接收到数据
时
,设置
变量
1(可用);。(1)
使用
pthread_cond_t
作为
var。此方法需要一个额外
的
<e
浏览 0
提问于2012-04-26
得票数 2
回答已采纳
1
回答
与子线程共享存储在主线程堆栈中
的
互斥
锁
、
、
、
、
在尝试
使用
c11、threads.h
和
互斥
来同步网络标题
和
主线程
时
,我开始
使用
以下步骤: 在-define
函数
中
使用
互斥
锁
mtx_t mutex_network_acqbuffer;
使用
-initializingmtx_init(&mutex_network_acqbuffer,mtx_plain); -asigning此
互斥
锁
指向堆分配结构
成
浏览 14
提问于2020-08-25
得票数 0
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券