腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
避免
在
条件
变量
中
错误
唤醒
,
以
通知
未知
数量
的
线程
、
、
我使用
条件
变量
定期
通知
未知
数量
的
线程
。也就是说,循环将周期性地修改一个值,然后
通知
等待该
变量
的
所有
线程
。
避免
错误
唤醒
的
常用方法是使用布尔
变量
。等待
变量
的
线程
在
唤醒
后将bool
的
值设置为false clas
浏览 31
提问于2020-04-01
得票数 0
回答已采纳
4
回答
std::condition_variable虚假阻塞
、
、
正如你所知道
的
,
条件
变量
应该循环调用,以
避免
虚假
唤醒
。如下所示: condvar.wait();condition = true;我想知道,
条件
变量
是否有可能被这个场景阻塞: 1)等待
线程
浏览 0
提问于2013-02-26
得票数 6
回答已采纳
2
回答
notify_one()
在
c++
线程
中
唤醒
多个
线程
、
、
<< std::endl; }10 threads ready to race...thread 0 我
的
期望是,通过调用notify_one(),只会
通知
一个
线程
,我就会陷入死锁。但是在这种情况下,
在
重新捕获死锁之前
通知
了两个
线程
。我在这里错过了什么?谢谢
浏览 9
提问于2017-03-10
得票数 3
回答已采纳
2
回答
会促进:状态改善性能?
、
、
、
我们有一个多
线程
应用程序。在当前
的
实现
中
,thread1是
在
启动时创建
的
,并定期(每秒钟左右,可配置)醒来,
以
检查磁盘
中
是否存在潜在
的
保存文件。这些文件由另一个
线程
thread2保存。运行thread1及其周期性
唤醒
可能会减慢应用程序
的
运行速度。 现在,我们有机会使用boost::
条件
变量
来阻止thread1,直到thread2
通知
它为止。通过这
浏览 1
提问于2013-10-02
得票数 4
回答已采纳
1
回答
当
条件
更新是阻塞函数时
避免
丢失
唤醒
、
我正在编写一个事件循环,
在
没有工作可做
的
情况下,通过等待"work“
条件
变量
(work_to_do)进入睡眠状态。这个
条件
变量
可以根据不同
的
事件由不同
的
线程
通知
。当一个事件发生在另一个
线程
中
时,它会
通知
条件
变量
,
唤醒
事件循环,然后检查可能触发
通知
的
条件</e
浏览 3
提问于2020-01-14
得票数 2
1
回答
具有同步方法和同步语句
的
对象如何分别类似监视器和
条件
临界区域?
、
、
、
、
为什么只使用同步方法
的
Java对象与Mesa监视器非常相似,其中每个监视器有一个
条件
变量
的
限制? 同样,是Java
中
以
循环中
的
等待开始
的
同步语句,类似于--一种CCR,其中
条件</e
浏览 3
提问于2017-10-14
得票数 2
2
回答
在
保持互斥锁
的
同时调用notify_one()/notify_all()是一种
错误
的
做法吗?
、
我正在编写一个实践程序来理解C++
中
的
多
线程
概念。这个程序只是读取一个字符串,从一个
线程
上
的
用户输入,然后
在
另一个
线程
中
处理它。当互斥锁在Line: 33
中
时调用是一种很好
的
做法吗?
线程
TProcessQueue是否有可能在TReadInput之前开始执行?我
的
意思是问n
线程
的
执行顺序是否与如何实例化它们相同?
在
调用mu
浏览 2
提问于2021-01-20
得票数 0
1
回答
在
条件
下等待
线程
的
有序
通知
(C++,boost)
、
、
是否有人知道一个
条件
变量
类,它允许
通知
等待
条件
的
线程
按照它们开始等待
的
顺序得到
通知
?::wait()
的
线程
。我还尝试
在
调用condition_variable::wait()之前将
线程
in添加到队列
中
,以便调用所有等待
线程
唤醒
的
condition_variable::notify_all(),检查队列,然后再次
浏览 3
提问于2013-12-26
得票数 0
回答已采纳
1
回答
具有固定大小
的
线程
安全队列
、
、
、
、
我想要做
的
是用多个
线程
将整数推送到我
的
threadSafe队列实现
中
,并同时与另一系列
线程
一起弹出插入
的
数字。所有这些操作都必须是
线程
安全
的
,但我想拥有的另一个选项是队列
的
大小必须固定,就像缓冲区一样。如果缓冲区已满,则所有推送
线程
必须等待弹出
线程
释放某个插槽。这是我实现
的
队列/缓冲区,它似乎工作,但经过几次迭代,它停止并保持阻塞,没有任何
错误
。
浏览 6
提问于2016-05-11
得票数 2
回答已采纳
1
回答
C++窗口会迫使
线程
在
等待
中
唤醒
吗?
、
、
、
、
我知道,有时候,处于状态
变量
等待状态
的
线程
可以从Windows
中
唤醒
,这会给它们发送一个没有原因
的
通知
。因此,我们用一个函数重载函数等待,
以
验证
线程
是否必须被
唤醒
。conditionVariable.wait (lock, []() { return (A == true) });假设在等待之前,另一个
浏览 10
提问于2015-09-07
得票数 1
回答已采纳
2
回答
在
释放互斥锁之前或之后
通知
使用者
线程
?
、
、
、
下面是使用
条件
变量
定义
线程
安全队列
的
书“C++并发性”
中
的
清单4.5。函数
中
,当互斥锁仍被锁定时,另一个
线程
将被
通知
。
在
互斥锁释放后
通知
popper
线程
不是更好吗?lock_guard<std::mutex> lk(mut) }} 我
浏览 1
提问于2016-01-05
得票数 3
1
回答
打破
条件
变量
死锁
、
、
我有一个情况,
线程
1正在等待一个
条件
变量
A,它应该被
线程
2
唤醒
。现在
线程
2正在等待一个
条件
变量
B,它应该被
线程
1
唤醒
。
在
我使用
条件
变量
的
场景
中
,我无法
避免
这样
的
死锁情况。我检测到循环(死锁)并终止其中一个
线程
,该
线程
是死锁
的
参与者。 现在,
浏览 3
提问于2011-08-02
得票数 2
回答已采纳
1
回答
Pthread查询:
线程
顺序
错误
、
、
但答案是不确定
的
。
在
保持
线程
顺序
的
同时,答案不会打印5次。请帮帮我!
浏览 0
提问于2015-05-26
得票数 1
2
回答
一个主程序如何通过wait同时等待多个
线程
,而不是join?
、
、
、
我有一个主程序,它需要启动许多
线程
,这些
线程
立即在condition_variable上等待。然后,主程序进入循环。主程序
的
每次循环迭代都会执行一次notify_all,
以
唤醒
所有
线程
。然后,主程序等待所有
线程
完成处理,然后开始主循环
的
下一次迭代。 我知道如何为一个
线程
做这件事。我想我知道如何在多
线程
中
做到这一点,但是我有一个问题,那就是主程序应该如何处理等待所有
线程
。我知道如何<
浏览 15
提问于2021-04-24
得票数 0
4
回答
在
condition_variable::notify_all()之后还是之前打开互斥锁?
、
、
通用方式://prepare data for several worker-threads; std::unique_lockthreads completed; _threadsCanAwaken = false;
在
一个工作<
浏览 0
提问于2018-09-25
得票数 8
回答已采纳
1
回答
通知
条件
变量
是否保证如果存在成功
的
条件
/谓词
的
线程
的
唤醒
?
、
、
、
、
假设我有两个
线程
在
一个
条件
下等待,一个有一个真谓词,另一个有一个假谓词(例如,condition.wait(lock, [=]{ return some_condition; })。主
线程
决定使用cond.notify_one()随机
通知
其中一个。 假设选择
的
等待
线程
是谓词为false
的
线程
。
线程
是否会隐式地
通知
下一个
线程
(如果还有剩余
的
线程
),
浏览 10
提问于2021-12-22
得票数 1
回答已采纳
2
回答
使用std::conditional_variable
在
条件
下等待
、
、
、
、
为了简单起见,让我们假设我们只有一个
条件
变量
来匹配布尔值所反映
的
单个
条件
。 1)为什么std::condition_variable::wait(...)
在
发送“
通知
”后再次锁定互斥对象?2)看到"1)“
中
的
行为,这是否意味着当您执行std::condition_variable::notify_all时,它只会使所有等待
的
线程
解除阻塞/
唤醒
.但是的顺序是,而不是一次性
的
浏览 4
提问于2017-01-20
得票数 7
回答已采纳
6
回答
在
不使用
条件
的
情况下暂停pthread
、
、
我想挂起pthread,但显然没有pthread_suspend这样
的
函数。我在某处读到了关于使用互斥锁和
条件
挂起pthread
的
文章,并按如下方式使用:public:} pthread_cond_signal(&m_ResumeCond);}; 但是我不明白为什么我们需要互斥和
条件</e
浏览 9
提问于2010-06-29
得票数 7
2
回答
是否可以使用单个
条件
变量
进行双向同步?
、
、
、
是否可以使用单个
条件
变量
进行双向同步(即在同一
条件
变量
的
不同时间等待两个不同
的
条件
)?我确信在任何时候都不会有超过一个
线程
在
条件
变量
上等待。下面的示例代码说明了我正在考虑
的
内容:#include <thread>#include <iostre
浏览 0
提问于2013-05-03
得票数 4
回答已采纳
2
回答
我们如何使用notifyAll来确保
唤醒
后只有一个
线程
继续?
、
、
、
斯科特从带来
的
报道 要恢复在给定对象上挂起
的
线程
,其他一些
线程
必须在引用同一对象
的
同步语句或方法
中
执行predefined方法notify。就像等待,
通知
没有争论。如果
线程
正在等待多个
条件
(即,如果它们
的
等待嵌入
在
不同
的
循环中),则无法保证“正确”
线程
将被
唤醒
。为了确保适当
的
线程
确实
唤醒
,程序
浏览 6
提问于2017-10-15
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C+之多线程(二)
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
Linux系统编程 条件变量
一种线程池的工作原理与C+实现
万字长文把云计算服务软件基础框架的构建给讲的明明白白的!
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券