腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9756)
视频
沙龙
1
回答
现在,为什么Monitor需要一个
条件
变量
?
、
、
、
、
当你查看C#的Monitor类时,你会发现在它的实现中你有一个
条件
变量
和一个
互斥
量。
互斥
量是由一个新的线程获得的,如果它还没有被另一个线程获得,然后它继续检查
条件
变量
,如果它是true,线程可以继续,如果它不是真,那么它被放在
条件
变量
的线程睡眠队列中,以便在
条件
变量
再次变为真时被唤醒。现在,为什么Monitor需要一个
条件
变量
?它检查什么
条件
?我已经通读了一篇关于
浏览 1
提问于2014-07-03
得票数 2
1
回答
如果我们在
条件
变量
之前放一个
互斥
锁
,那么有多少线程可以等待它呢?
、
、
、
、
pthread_cond_broadcast用于唤醒多个等待
条件
变量
的线程。但是,同时也有人说,我们应该在
条件
变量
之前放置一个
互斥
,以避免竞争
条件
。因此,如果一个
互斥
锁
存在,并且一个线程已经持有它并因此等待
变量
,那么其他线程如何持有相同的
互斥
锁
(进入等待部分)?
浏览 0
提问于2012-03-01
得票数 1
回答已采纳
1
回答
pthread_cond_broadcast解除阻塞不等待
条件
变量
的线程
、
、
请注意下面的所有线程都使用相同的
互斥
锁
。因此,线程1等待信号/广播,线程3等待
互斥
锁
(这个线程只是等待获取
互斥
锁
)。现在,
浏览 1
提问于2016-05-10
得票数 0
回答已采纳
1
回答
无
锁
队列轮询最快的无竞争方法是什么?
、
、
、
、
如果队列不是无
锁
的,那么解决此问题的简单方法是让生成线程锁定
互斥
锁
,完成其工作,发送
条件
变量
并解锁,以及读取线程锁定
互斥
锁
,等待
条件
变量
,执行其读取,然后解锁。但是,如果我们使用的是无
锁
队列,使用
互斥
锁
的方式完全相同,那么首先使用无
锁
队列将消除我们所获得的性能。天真的解决方案是让生产者在每次插入队列后锁定
互斥
锁
,向
条件<
浏览 1
提问于2010-11-21
得票数 6
1
回答
pthreads等待并发出信号表示怀疑
linux
、
、
在pthread等待之前,我们使用
互斥
锁
,这样其他代码就不会尝试更改
条件
变量
。等待,然后解锁
互斥
锁
并等待信号。那么<em
浏览 1
提问于2012-07-27
得票数 1
回答已采纳
1
回答
生产者-消费者模式:唤醒UI线程
、
在传统的C++中,我会使用
互斥
锁
、
条件
变量
和标志,可能还会使用某种并发队列。生产者线程将数据放入队列,锁定
互斥
锁
,设置标志,解锁
互斥
锁
,然后发信号通知
条件
变量
。 如何使用UI线程实现类似的模式?
浏览 1
提问于2013-04-30
得票数 1
回答已采纳
1
回答
为什么POSIX将信号量标准化为系统调用,而将
互斥
和
条件
变量
留给P线程(用户级别)
、
、
、
、
为什么POSIX将对信号量的支持标准化为syscall,而将
条件
变量
和
互斥
对象留给线程库呢?我也不知道。猜测性能是不将
互斥
实现为syscall的考虑因素。(原子硬件指令是无特权的,因此在用户级别实现它们是可能的。尽管
Linux
提供了futex,但它实际上正试图将自旋
锁
优化为两阶段
锁
,以实现睡
浏览 4
提问于2020-03-03
得票数 1
回答已采纳
1
回答
如何在C中创建线程的被动等待FIFO?
、
、
、
、
我正在试图找出一种方法,将一些线程置于被动等待模式,并在它们到达屏障时将它们唤醒。我有一个固定数量的线程应该到达。我还考虑过使用2个信号量,它会阻塞、释放线程并对其进行排序。如果线程是好的,那么它就会继续,如果不是,那么它就会被第二个信号量阻塞。然而,这个系统看起来有点冗长和挑剔。非常感谢:)
浏览 3
提问于2017-11-30
得票数 0
2
回答
为什么
条件
变量
需要
锁
(因此也需要
互斥
)
、
、
、
、
条件
变量
是c++11的一个方面,我还在挣扎。根据我收集到的信息,
条件
变量
非常类似于信号量。那么为什么
条件
变量
需要这个呢?通过添加此要求提供了哪些新增功能?
浏览 7
提问于2015-05-12
得票数 20
回答已采纳
2
回答
pthread_cond_broadcast是如何工作的?
、
、
、
以及如何重置
条件
变量
,以便广播线程可以稍后向等待线程重新广播。
浏览 2
提问于2012-06-12
得票数 1
回答已采纳
1
回答
条件
变量
在MacOS上工作,但在Ubuntu上不起作用
、
、
、
、
简而言之,我有一个进程,它接受
互斥
锁
,在管道上写入,解锁
互斥
锁
,并向
条件
变量
发送信号。然后,还有另一个进程监听这个管道,每当收到信号时,它就读取缓冲区并将内容写入本地文件。问题是,完全相同的代码,不能在
Linux
Ubuntu上运行。 我尝试改变
互斥
量和
条件
变量
的实现,遵循Internet上的提示,但没有起作用。下面是一些更好的解释代码: 首先,我将
互斥
锁
和
条件
初
浏览 15
提问于2019-09-06
得票数 1
1
回答
在接收到来自cond
变量
的信号后,我们需要解锁
互斥
锁
吗?
、
、
、
我用C语言制作了一个带有
互斥
变量
和
条件
变量
的教育应用程序。while (!== 0)) 你能解释一下吗,当信号使
互斥
锁
被锁定时,当信号使
互斥
锁
被锁定时,为什么在“同时”状态之后(以及从第二个线程接收信号)我们需要解锁
互斥
浏览 1
提问于2018-06-20
得票数 0
回答已采纳
1
回答
线程
条件
变量
是否只使用一次?
、
、
、
、
我正在学习使用线程、
互斥
变量
和
条件
变量
,但是事情并没有像预期的那样进行。因此,我理解这里需要一个
互斥
锁
,以防止两个线程读取/写入同一个文件。我使用一个
条件
变量
向工作线程发送信号。我需要重置
条件
变量
还是做其他事情?(在main循环之前发射) 辅助线程cond_wait解锁
浏览 0
提问于2018-04-27
得票数 0
回答已采纳
3
回答
不带
锁
互斥
调用pthread_cond_signal
、
、
、
、
我在某个地方读到,我们应该在调用pthread_cond_signal之前锁定
互斥
锁
,并在调用它之后解锁
互斥
锁
: pthread_cond_signal()例程用于向等待
条件
变量
的另一个线程发出信号(应该在
互斥
锁
后调用它,并且必须解锁
互斥
锁
,以便完成pthread_cond_wait()例程。我的问题是:在不锁定
互斥
锁
的情况下调用pthread_cond_signal或pthre
浏览 0
提问于2010-12-28
得票数 92
回答已采纳
1
回答
条件
变量
的延迟bcast唤醒-是否有效?
、
、
、
、
我正在实现pthread
条件
变量
(基于
Linux
futexes),并且我有一个想法,可以用进程共享的
条件
变量
来避免pthread_cond_broadcast上的“蜂拥而至效应”。对于非进程共享的cond
变量
,传统上(即NPTL) futex请求操作用于将等待程序从cond
变量
的futex重新排队到
互斥
变量
的futex,而不唤醒它们,但对于进程共享的cond
变量
来说,这通常是不可能的,因为pthread_cond_
浏览 0
提问于2011-09-24
得票数 0
回答已采纳
2
回答
等待
条件
变量
的线程所持有的
互斥
对象发生了什么?
对于我正在编写的程序,我希望一个线程同时容纳两个
互斥
对象。然后,它将等待一个
条件
变量
,使用其中一个
互斥
变量
作为与
条件
变量
关联的
互斥
对象。另一个
互斥
在等待的时候会发生什么?还
锁
着吗?
浏览 4
提问于2014-02-14
得票数 1
回答已采纳
2
回答
Windows上的递归
互斥
?
、
、
、
据我所知,在Windows上,CRITICAL_SECTION只能用作非递归
互斥
锁
。要获得递归
互斥
,你必须使用OpenMutex和朋友。但是,AFAIU,Win32
互斥
不能与
条件
变量
一起使用(InitializeConditionVariable等人)。 在Windows上有没有办法将递归
互斥
与
条件
变量
结合使用?
浏览 5
提问于2012-10-11
得票数 1
回答已采纳
1
回答
线程锁定
互斥
锁
的速度比std::conditional_variable::wait()快
、
、
我想我的代码应该像: 那么,为什么线程能够比通知后的wait(
浏览 2
提问于2017-05-09
得票数 0
回答已采纳
2
回答
如果仍需要
互斥
锁
才能正常工作,为什么还要使用std::atomic
、
、
、
、
阅读的文本时,我读到了这句话:如果没有“使用PODs的无
锁
代码”,原子还有什么用呢?更新引号中的“共享
变量
”与“
条件
变量
”不同。请参阅同一页面中的以下内容: 请不要回答"“或&quo
浏览 35
提问于2018-12-05
得票数 -1
3
回答
pthread_cond_wait解锁附加在其上的
互斥
锁
。源代码?
、
、
我知道pthread_cond_wait解锁了与它相连的
互斥
锁
。我想找到的是pthread_cond_wait的源代码,并找到解锁的
互斥
代码。如果这个问题很愚蠢,那就直截了当吧。:)。
浏览 3
提问于2012-02-02
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
Linux驱动必学知识点-内核互斥锁
Linux系统编程 条件变量
Go语言互斥锁
互斥锁、自旋锁、读写锁……理清它们的区别和应用
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券