腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
c++
中
唯
一锁
、
互斥
和
条件
变量
的
关系
、
、
、
、
<< std::endl; }10 threads ready to race...thread我完全理解为什么我会得到这个输出
的
一些流程。然而,我不明白为什么我不能打印"10个线程准备比赛...“如果我注释掉了go()函数,在main
中
调用。另外,请解释一下为什么我需要在go()函数
中
调用std::unique_lock锁(Mtx)。谢谢你们! 顺便说一句,为了便于引用
浏览 12
提问于2017-03-10
得票数 2
回答已采纳
1
回答
带有
条件
变量
的
Java
互斥
关联
、
、
、
、
Java
中
的
每个
条件
变量
(wait()、notify())都与单个
互斥
(同步)相关联。我曾说过(在Java
中
),每个
互斥
对象也与一个
条件
变量
相关联,这是一个比p线程
的
cond
变量
和
互斥
变量
更低效率
的
实现。然而,我无法理解这一条。那是什么意思?Java与C/
C++
线程在这个问题上有什么不同?
浏览 3
提问于2016-01-31
得票数 2
回答已采纳
1
回答
如何初始化已经在
c++
中
声明
的
唯
一锁
?
、
我创建了一个类,并声明了一个唯
一锁
的
数组
和
一个
互斥
锁
的
数组作为私有
变量
。我
的
问题是如何在类
的
构造函数中将它们连接起来?unique_lock<std::mutex> _fork[5], _screen;public:};
c+
浏览 15
提问于2021-01-25
得票数 0
3
回答
不是所有通知condition_variable.notify_all()
的
线程
、
、
线程完成
的
工作在完成所需
的
时间上有所不同,其思想是线程只有在完成旧
的
数据时才会获得新
的
数据。在此期间获得
的
数据被允许“错过”。我不使用共享
互斥
(仅用于访问数据),因为我不希望线程相互依赖。Linux是否需要使用condition_variable
的
不同方法?
浏览 3
提问于2016-07-04
得票数 2
回答已采纳
1
回答
生产者-消费者模式:唤醒UI线程
、
如何实现以后台线程为生产者,UI线程为消费者
的
生产者-消费者模式?在传统
的
C++
中
,我会使用
互斥
锁、
条件
变量
和
标志,可能还会使用某种并发队列。生产者线程将数据放入队列,锁定
互斥
锁,设置标志,解锁
互斥
锁,然后发信号通知
条件
变量
。 如何使用UI线程实现类似的模式?谢谢。
浏览 1
提问于2013-04-30
得票数 1
回答已采纳
3
回答
C++
<mutex> header在实施并发时是否使用硬件支持,还是纯粹是基于算法
的
解决方案
、
、
、
C++
互斥
是如何在幕后实现
的
?它是否只使用Decker、Peterson或其他算法来强制执行
互斥
,或者它还使用硬件支持,如中断
和
比较交换(CAS)。有没有可能在没有任何硬件支持
的
情况下实现由
互斥
和
条件
变量
组成
的
整个多线程库?
浏览 42
提问于2020-03-12
得票数 0
回答已采纳
1
回答
C++
std lib <mutex>、<conditional_variable>库
和
共享内存
、
、
如果要在共享内存
中
的
进程之间共享
互斥
对象,则C线程需要设置一个特殊标志-请参阅sem_init()。我真的不知道差异是什么,但是我很难在共享内存中使用
C++
std::condition_variable --它
的
seg错误。在
C++
文档或构造函数
中
,我看不到任何提及这一点
的
内容。我想知道如何/是否可以在共享内存中使用
C++
线程
互斥
。这是我
的
测试代码供参考。注squeue只是一个简单<em
浏览 2
提问于2014-06-23
得票数 5
回答已采纳
1
回答
一个
条件
变量
,多个
互斥
变量
、
、
、
在这堂课
中
,她提到了
条件
变量
的
数据结构包含、
互斥
引用
和
等待线程
的
列表。 如果以上问题
的
答案是肯定
的
浏览 0
提问于2017-09-28
得票数 3
2
回答
在同步对象被销毁后,这些操作安全吗?
、
、
、
、
在我
的
一个业余项目中,我正在实现一个双工转码框架。我正在编写
的
最基本
的
函数是Read
和
Write函数,它们将在不同
的
线程上调用,以交换数据,比如Unix管道/FIFO。因为它们位于不同
的
线程上,所以我需要确保它们是正确同步
的
,并且我对同步API
的
使用是正确
的
。当遇到EOF时,我调用pthread_{condvar,mutex}_destroy函数破坏两个
条件
变量
和
一个<e
浏览 17
提问于2022-12-02
得票数 0
回答已采纳
1
回答
pthread
互斥
:获取状态
、
、
我查看了一些为pthread
互斥
锁提供C/
C++
包装器
的
代码。代码为有信号/无信号
条件
保留了一个影子
变量
。该代码还忽略了pthread_mutex_lock
和
pthread_mutex_trylock等函数
的
返回值,因此影子
变量
可能无法准确反映
互斥
的
状态(忽略次要竞争
条件
)。pthread是否提供了一种查询
互斥
锁状态
的
方法?快速阅读似乎并没有提
浏览 2
提问于2013-07-23
得票数 1
回答已采纳
1
回答
C++
。std::condition_variable
和
多个等待线程
、
、
、
我有一些类,有queue of std::function<void()>成员
和
方法Push
和
Pop。 我想实现加法PushAndWaitUntilExecuted。如果您有一个consumer-thread(调用Pop)
和
一个producer-thread(调用Push),那么简单
的
std::condition_variable就足够了。但是,我
的
应用程序具有动态线程数,可以并行调用PushAndWaitUntilExecuted函数执行相同
的
代码行,并等待consumer
浏览 4
提问于2020-08-01
得票数 2
回答已采纳
1
回答
需要帮助识别简单多线程代码
中
的
Bug
、
、
我试图解决这里给出
的
问题-- 。 我写了以下代码来解决这个问题,但它超过了分配
的
时间限制。我不能理解为什么会这样。有人能指出我
的
错误吗?另外,我如何纠正下面给出
的
代码,使其在仅使用while循环作为
互斥
锁
的
情况下执行得更快?
浏览 18
提问于2019-07-13
得票数 0
3
回答
包含大量共享
变量
的
C++
标准
条件
变量
、
、
、
我正在用
C++
编写一个多线程程序,在我
的
主线程
中
,我在等待其他线程将包放入不同
的
队列
中
。这取决于包
的
类型和它们来自哪个线程。{}因此,您需要使用
条件
变量
来通知main发生了一些变化。现在我只能阻塞一个
条件
变量
,所以我需要所有这些线程使用相同
的
浏览 0
提问于2013-03-22
得票数 0
回答已采纳
2
回答
条件
变量
与
C++
标准
中
的
互斥
、
我不明白
条件
变量
和
互斥
锁之间
的
区别。在我看来,它
的
描述还不够清楚。 有人可以独立于任何编程语言来解释它吗?以及特定于
C++
的
std解释?
浏览 1
提问于2019-09-30
得票数 4
1
回答
C/
C++
和
其他语言中
的
条件
变量
使用模式
、
、
、
如果你查看描述
条件
变量
( cv )用法
的
文档,你会发现,例如在PThreads
和
C++
中
,你不需要持有cv
的
互斥
锁来在这个cv上调用notify。然而,例如在Java
和
Python
中
,您必须锁定
互斥
锁才能做同样
的
事情。考虑到像Java这样
的
语言
的
实现最终会使用一些本机线程工具,是不是有一些深层次
的
原因使事情以这种方式实现(我是关
浏览 1
提问于2015-09-12
得票数 5
3
回答
POSIX线程:
条件
变量
-有什么意义?
、
我知道
条件
变量
的
设计是为了等待特定
条件
的
实现(或者是“信号”)。我
的
问题是,这
和
正常
的
互斥
有什么区别?据我所知,
条件
变量
不只是一个附加逻辑
的
互斥
锁,以便在
条件
变为真时解锁另一个
互斥
(并再次锁定它)吗?lock(mymutex); cond_signal(myco
浏览 2
提问于2009-08-30
得票数 4
回答已采纳
1
回答
带自旋锁
的
线程
条件
变量
、
、
在
条件
变量
的
实现
中
,pthread_mutex_t使用pthread_mutex_t作为其锁定机制。我想不出为什么pthread_spinlock_t也不能工作。但因为这是C,而不是
C++
,所以我不能把自旋锁当作
互斥
物。 为什么“
条件
变量
”实现不能使用pthread_spinlock_t而不是pthread_mutex_t?该代码存在于我可以查看
和
/或使用它
的
某个地方
浏览 0
提问于2013-11-12
得票数 2
1
回答
现在,为什么Monitor需要一个
条件
变量
?
、
、
、
、
当你查看C#
的
Monitor类时,你会发现在它
的
实现
中
你有一个
条件
变量
和
一个
互斥
量。
互斥
量是由一个新
的
线程获得
的
,如果它还没有被另一个线程获得,然后它继续检查
条件
变量
,如果它是true,线程可以继续,如果它不是真,那么它被放在
条件
变量
的
线程睡眠队列
中
,以便在
条件
变量
再次变为真
浏览 1
提问于2014-07-03
得票数 2
2
回答
<mutex>
和
<condition_variable>
的
异常处理
、
、
、
、
假设 只有标准库提供
的
时钟、时间点
和
持续时间与std::
互斥
变量
和
条件
变量
一起使用
浏览 1
提问于2016-05-13
得票数 11
回答已采纳
3
回答
如何使用信号量实现
条件
变量
?
、
、
、
不久前,我在思考如何实现彼此之间
的
各种同步原语。例如,在pthread
中
,您可以获得
互斥
量
和
条件
变量
,并从这些
变量
中
构建信号量。在Windows API (或者至少是旧版本
的
Windows API)
中
,有
互斥
锁
和
信号量,但没有
条件
变量
。我认为应该可以从
互斥
和
信号量
中
构建
条件
<
浏览 0
提问于2011-03-20
得票数 7
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
九月哥谈Java SE中的类与对象的关系、成员变量和局部变量的区别、创建一个类包括成员变量和成员方法
万字长文把云计算服务软件基础框架的构建给讲的明明白白的!
并发编程大放异彩:探究C+多线程编程的奇妙世界
C+之多线程(二)
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券