腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
当
线程
处理
不同
的
类
时
,
条件
变量
,
互斥
量
应该在
哪里
声明
?
、
、
在这里,我已经
声明
了全局
的
所有内容。
当
条件
变量
,
互斥
量
在
不同
的
类
之间共享
时
,
应该在
哪里
声明
? 应该遵循什么设计才能避免全局
声明
?
浏览 33
提问于2018-07-27
得票数 1
回答已采纳
1
回答
现在,为什么Monitor需要一个
条件
变量
?
、
、
、
、
当你查看C#
的
Monitor
类
时
,你会发现在它
的
实现中你有一个
条件
变量
和一个
互斥
量
。
互斥
量
是由一个新
的
线程
获得
的
,如果它还没有被另一个
线程
获得,然后它继续检查
条件
变量
,如果它是true,
线程
可以继续,如果它不是真,那么它被放在
条件
变量
的
<e
浏览 1
提问于2014-07-03
得票数 2
3
回答
C在
哪里
定义多
线程
程序中
的
互斥
?
、
、
、
、
我正在开发一个多
线程
程序,我有一个关于在
哪里
定义
互斥
的
问题。 相关信息:该程序有一个main.c,我们可以在其中根据用户输入确定特定
的
操作。
线程
调用一个名为son_threads
的
函数,该函数位于一个son.c文件中,
当
它们进入一个临界区
时
,它们需要使用一个
互斥
锁(编辑几个全局
变量
以防止竞争
条件
)。
互斥
量
的
声明
浏览 3
提问于2012-06-16
得票数 6
回答已采纳
3
回答
用长时间运行
的
线程
去初始化实例
时
的
死锁
、
、
、
、
我在工作中经常会遇到这样
的
问题--我需要创建一个
类
,它包括一个长时间运行
的
线程
,这些
线程
与共享成员
变量
一起工作,还有某种stop()方法,它停止所有
线程
并去初始化实例。这里
的
问题是
当
实例必须去初始化时
的
拐角情况: 长时间运行
的
线程
使用共享
变量
,因此应该有一个
类
级
互斥
体,
线程
和其他方法应该采用这个
互斥
浏览 21
提问于2022-09-15
得票数 0
1
回答
当
调用condition_all()
时
,多个
线程
(等待
条件
变量
)如何获得相关
的
锁?
、
、
从理论上讲,等待
线程
(假设是Thread_1)首先获取
互斥
锁,然后通过调用wait()等待
条件
变量
。调用wait()会立即解锁
互斥
锁。
当
另一个
线程
(假设是Thread_2)调用notify()
时
,等待
线程
(Thread_1)被唤醒,并且在等待(..)之前锁定相同
的
互斥
锁。调用返回。现在假设多个
线程
在给定
的
时间等待一个
条件
变量
(比
浏览 12
提问于2020-01-12
得票数 4
2
回答
在同步对象被销毁后,这些操作安全吗?
、
、
、
、
在我
的
一个业余项目中,我正在实现一个双工转码框架。我正在编写
的
最基本
的
函数是Read和Write函数,它们将在
不同
的
线程
上调用,以交换数据,比如Unix管道/FIFO。因为它们位于
不同
的
线程
上,所以我需要确保它们是正确同步
的
,并且我对同步API
的
使用是正确
的
。
当
遇到EOF
时
,我调用pthread_{condvar,mutex}_dest
浏览 17
提问于2022-12-02
得票数 0
回答已采纳
2
回答
条件
变量
:仅用于模拟监视器?
、
我正在阅读Gregory Andrews
的
"Multithreaded,Parallel,and Distributed Programming“,在这本书中,作者提到他将展示如何使用锁”结合
条件
变量
来模拟监视器我还多次听说“
互斥
锁+
条件
变量
”是使用Posix
线程
的
程序中
的
一种常见模式。 所以我
的
问题是:除了这一点之外,
条件
变量
还有其他常见
的
用法吗(结合
浏览 0
提问于2010-11-13
得票数 2
回答已采纳
3
回答
使用
条件
变量
比使用
互斥
锁
的
优点
、
、
、
、
我想知道在pthread中使用
条件
变量
比使用
互斥
锁有什么性能优势。但是看起来
互斥
调用也是阻塞
的
(不像自旋锁)。因此,如果一个
线程
( T1 )因为
浏览 3
提问于2011-01-20
得票数 38
回答已采纳
3
回答
当
一个
线程
在等待
互斥
时
死了会发生什么?
、
、
如果一个进程有三个
线程
( T1、T2和T3 ),而这三个
线程
都试图获取
互斥
锁( M1 ),我理解一个
线程
将获得
互斥
锁,而另两个
线程
将等待获得
互斥
锁。然后,T2可以清理受保护资源
的
状态。 现在,如果T1拥有M1,而T2和T3在等待M1,会发生什么情况。T2终止。会发生什么?
当
T1发布M1
时
,
互斥
体会直接进入T3吗?看起来,T3应该只使用M1,因为T2不可能使
线程
处于不一致
的<
浏览 2
提问于2016-10-11
得票数 3
回答已采纳
3
回答
包含大量共享
变量
的
C++标准
条件
变量
、
、
、
我正在用C++编写一个多
线程
程序,在我
的
主
线程
中,我在等待其他
线程
将包放入
不同
的
队列中。这取决于包
的
类型和它们来自哪个
线程
。{}因此,您需要使用
条件
变量
来通知main发生了一些变化。现在我只能阻塞一个
条件
变量
,所以
浏览 0
提问于2013-03-22
得票数 0
回答已采纳
2
回答
线程
同步问题
、
、
我有一个
线程
列表(Qlist<QtThread>)。你有什么想法吗?非常感谢
浏览 0
提问于2011-06-02
得票数 0
3
回答
在POSIX中,为什么不能在多个
互斥
中使用单个condvar?
、
、
、
、
当
POSIX
条件
变量
与多个
互斥
物一起使用时,为什么行为是未定义
的
?摘录自2018年版:
当
线程
在
条件
变量
上等待
时
,已经为pthread_cond_timedwait()或pthread_cond_wait()操作指定了特定
的
互斥
对象,则在该
互斥
变量
和
条件
变量
之间形成动态绑定,只要
条件
变
浏览 0
提问于2021-05-05
得票数 3
回答已采纳
2
回答
等待RabbitMQ
线程
在Windows ()中完成
、
、
、
现在,
当
windows服务OnStop()被调用时(
当
有人停止服务
时
),我希望让这两个
线程
完成对它们
的
消息
的
处理
(如果它们当前正在
处理
消息),将ack发送到服务器,然后停止服务(中止
线程
等等)。
当
调用OnStop()
时
,主
线程
试图获取相同
的
互斥
量
,从而有效地阻止RabbitMQ
线程
实际
处理
更多
浏览 4
提问于2016-02-10
得票数 1
7
回答
条件
变量
vs信号
量
、
、
、
、
什么时候使用信号
量
,什么时候使用
条件
变量
?
浏览 5
提问于2010-08-18
得票数 137
回答已采纳
5
回答
pthread_cond_wait与信号
量
、
、
使用pthread_cond_wait或使用信号
量
的
优缺点是什么?我在等待这样
的
状态变化:while(cam->status == WAIT_DISPLAY) {}使用正确初始化
的
信号<
浏览 1
提问于2008-09-16
得票数 48
回答已采纳
2
回答
从函数插入到向量中
、
、
、
、
我现在要做
的
是创建一个向量,它
处理
来自接收包
的
线程
的
所有传入包。 eth0recvthread.join(); } 我在代码片段中去掉了一些不重要
的
代码,但我想让RecvThread能够将接收到
的
包放到这个向量中,这样我就可以(目前)在main方法中
处理
它们--大概是作为<em
浏览 0
提问于2013-10-21
得票数 0
2
回答
是否可以使用单个
条件
变量
进行双向同步?
、
、
、
是否可以使用单个
条件
变量
进行双向同步(即在同一
条件
变量
的
不同
时间等待两个
不同
的
条件
)?我确信在任何时候都不会有超过一个
线程
在
条件
变量
上等待。下面的示例代码说明了我正在考虑
的
内容:#include <thread>#include &
浏览 0
提问于2013-05-03
得票数 4
回答已采纳
1
回答
条件
变量
的
延迟bcast唤醒-是否有效?
、
、
、
、
我正在实现pthread
条件
变量
(基于Linux futexes),并且我有一个想法,可以用进程共享
的
条件
变量
来避免pthread_cond_broadcast上
的
“蜂拥而至效应”。对于非进程共享
的
cond
变量
,传统上(即NPTL) futex请求操作用于将等待程序从cond
变量
的
futex重新排队到
互斥
变量
的
futex,而不唤醒它们,但对于进程共享
的</
浏览 0
提问于2011-09-24
得票数 0
回答已采纳
3
回答
为什么不发生死锁?
、
、
、
代码同时从两个
不同
的
线程
获取相同
的
互斥
对象。我知道应该出现僵局。为什么没有发生呢?pushed" << std::endl; std::cout << "end" << std::endl << std::endl;我
的
产出是
浏览 2
提问于2015-01-15
得票数 2
回答已采纳
1
回答
防止超过3个
线程
到达sem_wait()
、
、
、
我正在尝试为一个信号量表示道路
的
练习解决
线程
同步问题。这条路一次最多可以支持3辆车向同一方向行驶,应该避免饥饿。到目前为止,我
的
下面的代码似乎通过在道路清空
时
更改活动方向来避免饥饿。这意味着(正如你在输出中看到
的
),有时候,道路上塞满了3辆车,一旦它们开始离开,额外
的
车就会设法到达sem_wait,继续进入,
当
它们完成后,方向改变就会生效。我很难理解如何才能阻止超过3个cars/
线程
到达sem_wait行,而不是等待。我试图实现
的</
浏览 5
提问于2021-11-22
得票数 0
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
云直播
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券