腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
pthreads_cond_broadcast
不会
唤醒
所有
正在
等待
的
线程
、
、
我
正在
创建一个多
线程
文件服务器。我已经创建了一个
线程
池来处理来自客户端
的
请求。下面是我
的
线程
池代码: void *worker_call(void *thread_id){ int nthreads = 6; pthread_t th
浏览 40
提问于2020-09-19
得票数 0
回答已采纳
2
回答
等待
和通知
的
顺序
、
、
如果我调用Java对象中
的
notify,是否保证在调用notify之后
不会
唤醒
等待
(严格)
的
线程
。换句话说,通知只会
唤醒
已经在
等待
的
线程
。想必,notifyAll也会以同样
的
方式行事。例如,如果担保不成立,则可以按以下顺序进行:
线程
W被
线
浏览 3
提问于2013-04-07
得票数 0
1
回答
线程
随机停止,没有错误。
、
所以基本上,我
正在
学习
线程
在一分钟,所以我不是100%肯定他们,但我创造了两个生产者和两个消费者,他们工作得很好,但我改变了一些东西,现在他们没有?我所能看到
的
是,它似乎是导致问题
的
消费者
线程
,因为它总是以“退出”结束。同时,有时它会在整个程序中不停地运行,工作得很好。对大量
的
代码表示歉意,但是我真的不知道是什么导致了这个问题,因为我对
线程
不熟悉,所以不能
浏览 4
提问于2017-03-09
得票数 1
回答已采纳
1
回答
在java中阻塞
线程
--要避免吗?
、
、
阻塞
线程
和
等待
线程
在资源消耗方面有什么区别(cpu周期等)。我是更愿意调用notify()来
唤醒
一个
线程
,并让其他
线程
处于
等待
状态;还是调用notifyall()让
所有
等待
线程
都进入阻塞状态(除了成功转换为runnable
的
线程
)?
浏览 4
提问于2012-09-08
得票数 1
3
回答
为什么在没有睡眠
的
情况下,下面的程序会陷入死锁状态,但是如果使用睡眠,它会执行
所有
三个
线程
并正常终止?
、
ExampleTest obj) {} public void run() {} notifyAll()
的
作用是什么notifyAll()允许
所有
等待
的
线程
按随机顺序顺序获取锁,还是只有一个
线程
可以获得锁?
浏览 7
提问于2015-07-08
得票数 3
1
回答
使用基于futex
的
锁管理跟踪服务员
的
最有效方法是什么?
、
、
、
然而,我注意到,当运行
的
线程
数量大于cpus数量时,这具有病理性
的
不良属性,即执行无用
的
唤醒
syscall
的
数量,如下所示:
线程
A在futex上暂停
等待
,因此
等待
计数增加,但它
不会
很快再次接收时间片,同时,
线程
B
正在
快速执行瞬间获取和释放锁
的
操作。每次,它都会看到有一个
等待
者,因此会产生一个futex
唤醒
系统调用,尽管
浏览 9
提问于2014-07-31
得票数 1
2
回答
我们如何使用notifyAll来确保
唤醒
后只有一个
线程
继续?
、
、
、
就像在Mesa中一样,有时需要
唤醒
在给定对象中
等待
的
所有
线程
;Java为此提供了内置
的
notifyAll方法。如果
线程
正在
等待
多个条件(即,如果它们
的
等待
嵌入在不同
的
循环中),则无法保证“正确”
线程
将被
唤醒
。为了确保适当
的
线程
确实
唤醒
,程序员可以选择使用notifyAll而不是通知。不幸<em
浏览 6
提问于2017-10-15
得票数 0
回答已采纳
1
回答
在Java中对常规对象调用notify
、
在此之前,我还没有看到任何让它
等待
的
东西。这是“Android游戏入门”这本书中
的
一小段。我不确定这段代码是否足够,但如果不够,请让我知道。TLDR当在对象上调用notifyall、notify和wait时,它们是如何工作
的
?我见过
的
所有
教程都只是调用wait()或notify()。提前谢谢你!
浏览 0
提问于2020-05-18
得票数 0
1
回答
条件变量
的
无限
等待
、
、
、
简化
的
目标是强制调用3个不同
线程
中
的
3个成员函数(
线程
A调用F::first,
线程
B:F::第二,
线程
C:third)。为了实现
线程
执行
的
顺序,我使用了1个条件变量和2个bools来指示第一和第二个
线程
是否完成了它们
的
工作。A不首先启动--无论第一个启动
线程
是B还是C,它们都会阻塞(
等待
)直到得到通知(B块直到A通知,C块直到B通知) 无限
的
等待
浏览 3
提问于2019-09-26
得票数 0
回答已采纳
1
回答
在条件下
等待
线程
的
有序通知(C++,boost)
、
、
是否有人知道一个条件变量类,它允许通知
等待
条件
的
线程
按照它们开始
等待
的
顺序得到通知?我目前
正在
使用boost类condition_variable,但是调用condition_variable::notify_one()会
唤醒
一个随机
线程
,而不是首先调用condition_variable我还尝试在调用condition_variable::wait()之前将
线程
in添加到队列中,以便调用
所有
等待
<
浏览 3
提问于2013-12-26
得票数 0
回答已采纳
1
回答
基于pthread
的
事件仅
唤醒
等待
的
线程
、
在我
的
C++程序中,我有一个类CEvent,它具有基于pthread
的
触发器和
等待
成员函数(在Linux上运行)。如果有一个
等待
的
进程,那么实现是非常明显
的
(例如,有许多在线示例)。但是,现在我需要满足这样
的
要求,即多个
线程
正在
等待
事件,并且在调用trigger()时,
所有
线程
都应该可靠地
唤醒
。作为第二个条件,只有在调用trigger()时
正在
<
浏览 1
提问于2009-05-28
得票数 5
回答已采纳
3
回答
C编程中
的
并发
线程
、
、
、
在多
线程
上实现
等待
和信号条件时,我遇到了一个问题。
线程
需要锁定互斥锁并
等待
条件变量,直到其他
线程
向其发出信号。同时,另一个
线程
锁定相同
的
互斥并
等待
相同
的
条件变量。现在,在整个进程中并发运行
的
线程
向条件变量发出信号,但我只希望发出信号通知第一个
正在
等待
的
线程
,而不是其他
线程
。
浏览 0
提问于2010-10-04
得票数 1
3
回答
在调用通知()之后,在什么时候真正释放锁?
、
、
我有我检查过
的
代码,我只想知道我
的
理解是正确
的
。; }因此,我
的
理解是,即使我调用了notifyAll(),
等待
线程
在同步块完成这是正确
的
,还是没有其他任何决定性
的
行为。
浏览 0
提问于2018-10-14
得票数 0
回答已采纳
2
回答
Notify后面跟着另一个notify
、
、
、
假设有2个或更多
的
线程
在
等待
该锁。能保证
唤醒
两个
线程
吗?或者可能只有一个
线程
被
唤醒
,这意味着第二个通知变得过时?lock.notify(); 谢谢!
浏览 0
提问于2013-04-04
得票数 2
回答已采纳
2
回答
WaitForSingleObject会放弃
线程
的
时间片吗?
、
、
、
我
正在
用C语言编写一个win32程序。 当您有多个
线程
在运行,并且其中一个
线程
正在
等待
事件(例如,使用WaitForSingleObject() )时,该
线程
是否仍会获得完整
的
CPU时间片?换句话说,操作系统知道
线程
在其中一个事件发出信号之前不需要时间片吗?
浏览 2
提问于2010-11-13
得票数 5
回答已采纳
1
回答
避免在条件变量中错误
唤醒
,以通知未知数量
的
线程
、
、
我使用条件变量定期通知未知数量
的
线程
。也就是说,循环将周期性地修改一个值,然后通知
等待
该变量
的
所有
线程
。避免错误
唤醒
的
常用方法是使用布尔变量。
等待
变量
的
线程
在
唤醒
后将bool
的
值设置为false class foo std::mutex mtx; bool update,其他执行周
浏览 31
提问于2020-04-01
得票数 0
回答已采纳
1
回答
如何在调用pthread_cond_destroy之前终止/
唤醒
等待
条件变量
的
所有
线程
?
、
、
当条件变量上有pthread_cond_destroy()
线程
等待
时,我知道调用1+ ()时
的
未定义行为,我
正在
寻找一个解决方案,以便在调用pthread_cond_destroy()之前向
所有
等待
条件变量
的
线程
发送
唤醒
信号如果条件变量有效,则我
的
CV类析构函数调用pthread_cond_destroy()。因此,我想: 在调用pthread_cond_destroy()之前进行广播,但这只会
唤醒</e
浏览 1
提问于2018-11-29
得票数 0
2
回答
为什么我
的
notify方法不能正常工作?
、
、
、
我
正在
通过暂停做同样事情
的
线程
来改进我
的
并发程序,以
等待
其中一个
线程
完成。但是,它不能正确地
唤醒
线程
。下面是代码。entry.get(g).notifyAll(); entry.remove(g);} 这个方法被许多
线程
调用在
线程
开始计算之前,它会查找条目,以查看是否有另一个
线程
正在
计算相同
浏览 1
提问于2012-07-27
得票数 0
1
回答
命令多个
线程
如何在std::condition_variable::notify_all之后重新获取std::condition_variable::notify_all
、
、
下面是一些将从多个
线程
调用
的
代码。对于每个
线程
,用于std::condition_variable::wait
的
谓词可能略有不同,但它
不会
改变问题。然后,
线程
应该检查条件并继续
等待
,如果
唤醒
是假
的
。我在文档中找不到,如果
所有
线程
都被
唤醒
,而不是“
等待
一行”锁定互斥对象,然后检查谓词返回了什么,或者它们可能做了其他事情。 编辑:看到下面的评论后,我开始思考。现在,
浏览 4
提问于2017-04-22
得票数 1
回答已采纳
3
回答
不是
所有
通知condition_variable.notify_all()
的
线程
、
、
. - same as Thread 2 我一直在运行
线程
1来获取新数据。其他
线程
将与condition_variable一起
等待
,直到新数据可用为止,然后复制它并对其进行一些工作。
线程
完成
的
工作在完成所需
的
时间上有所不同,其思想是
线程
只有在完成旧
的
数据时才会获得新
的
数据。在此期间获得
的
数据被允许“错过”。我不使用共享互斥(仅用于访问数据),因为我不希望
线程
相互依赖。上面的代码在Windows上运行
浏览 3
提问于2016-07-04
得票数 2
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券