腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
c++11 std::notify_all与伪
唤醒
c++
、
c++11
、
locking
、
condition-variable
、
spurious-wakeup
对于c++11,由于std::notify_all会导致虚假的
唤醒
,那么为什么std::notify_all会一直保持而不是std::notify_one呢?顺便说一句,std::notify_one会不会引起虚假的
唤醒
?我对此表示怀疑: 当我调用std::condition_variable.wait/wait_for/wait_until
和
std::notify_XXX时,我的目的通常是实现线程同步化。也就是说,更多的线程被
阻塞
,直到另一个线程通知其中一个线程解除
阻塞
。在我的情况下
浏览 12
提问于2022-06-13
得票数 1
回答已采纳
1
回答
`pthread_mutex_lock`
和
`pthread_cond_wait`是否在同一个队列上等待?
c
、
linux
、
multithreading
我知道: 如果所有者线程调用pthread_cond_wait,它将原子地释放互斥体并等待。如果所有者线程想
唤醒
一个在其条件变量上休眠的线程,它将执行pthread_cond_signal
和
pthread_mutex_unlock。如果pthread_cond_signal本身能够
唤醒
那些
阻塞
的线程,我们为什么需要pthread_mutex_unlock?
浏览 1
提问于2015-11-27
得票数 0
1
回答
操作系统如何在接受同一个套接字的多个进程之间实现负载平衡?
sockets
、
node.js
、
networking
、
concurrency
我正在Node.
js
中读取集群模块的文档: 当多个进程都在同一底层资源上运行accept()时,操作系统在它们之间的负载平衡非常有效。
浏览 1
提问于2012-09-19
得票数 8
回答已采纳
3
回答
iOS -如何测量线程
唤醒
?
ios
、
multithreading
、
instruments
我有一个应用程序崩溃,因为太多的“线程
唤醒
”。例如:这很难调试,因为我不知道测量线程
唤醒
的直接方法。我发现的最接近的是一个名为System的仪器模板,它将显示
阻塞
线程事件的数量。据推测,这是密切相关的,因为被
阻塞
的线程意味着该线程将在解除
阻塞
时休眠,然后醒来。奇怪的是,当应用程序正常运行且不会崩溃时,
阻塞
线程的数量在每秒10,000的范围
浏览 2
提问于2017-08-04
得票数 13
2
回答
如何
唤醒
被pause()
阻塞
的进程?
process
、
block
我需要分别使用SIGUSR2
和
SIGUSR1
阻塞
和
唤醒
一个进程。下面是我的信号处理器子例程。如何
唤醒
被暂停
阻塞
的进程?
浏览 1
提问于2012-09-17
得票数 0
1
回答
唤醒
阻止在Linux中读取的串行端口
c
、
linux
、
serial-port
在套接字编程中,您可以通过关闭()调用来
唤醒
select()上
阻塞
的所有线程。 不过,我看不出任何类似的东西。从另一个线程调用close(),而在select()上
阻塞
我的'reader‘线程,这似乎不是POSIX上定义良好的行为。在某些UNIX系统上,select()卸载并返回,并指示文件描述符准备就绪(后续的I/O操作可能会失败,除非在select()返回
和
I/O操作之间重新打开文件描述符)。在Linux (
和
其他一些系统)上,关闭另一个线程中的文件描述符对select(
浏览 1
提问于2013-10-08
得票数 4
回答已采纳
1
回答
阻塞
调用
和
linux调度器
sockets
、
networking
、
io
、
blocking
当当前进程在同步(
阻塞
)模式下等待select()、poll()或其他套接字操作时,Linux调度器是否会将控制传递给不同的进程?处于等待状态的进程是什么状态?它到底是如何被
唤醒
的?有一个版本的进程处于“休眠”状态,它是由内核
唤醒
WCHAN
唤醒
的,是的,当一个进程在IO上被
阻塞
时,操作系统会调度其他进程运行。这个变体是正确的吗?你知道我应该/可以把这些东西读出来吗?
浏览 2
提问于2011-11-23
得票数 2
回答已采纳
1
回答
如果pthread_mutex_wait上
阻塞
的进程发出信号(os信号,而不是pthread_mutex_unlock),会发生什么情况
linux
、
unix
、
pthreads
、
signals
、
posix
尽管由于while循环
和
Mesa监视器语义,pthread_cond_wait可能会被虚假
唤醒
并返回0,但这不是问题。那么,如果一个进程被pthread_mutex_lock
阻塞
,并且您发送一个信号来
唤醒
它,那么在信号处理程序被执行之后,会发生什么呢?有什么机制可以避免这种虚假的
唤醒
吗?
浏览 0
提问于2020-03-19
得票数 0
1
回答
假
唤醒
有时只会在std::condition_variable中发生?
c++
、
multithreading
、
c++11
、
locking
我试图用一个用MSVC编译的简单程序( 19.32.31332版本,如果有关系的话)演示std::condition_variable的虚假
唤醒
行为。但是,我已经开始注意到,只有在使用wait方法的两个参数重载时,才会出现虚假的
唤醒
。在调试
和
发布模式中,这似乎都是正确的。我可以很容易地使用两个参数重载的Predicate参数检测虚假
唤醒
:#include <iostream>#include <future但是,当我不提供谓词
浏览 1
提问于2022-10-06
得票数 0
回答已采纳
1
回答
视频编码流水线.线程设计
multithreading
、
encoding
、
streaming
、
video-capture
、
video-processing
我在一个系统上工作,它可以对多个频道进行视频采集
和
编码。每一阶段都需要时间。捕获/编码是在HW中完成的,但仍然需要花费时间才能完成。capture frames->encode->file-save (or stream to network) 而(1){框架= get_next_capture_frame();//无
阻塞
api -每1/60秒prev_bitstream =get_n
浏览 6
提问于2015-05-04
得票数 0
回答已采纳
1
回答
在java中
阻塞
线程--要避免吗?
java
、
multithreading
、
synchronized
阻塞
线程
和
等待线程在资源消耗方面有什么区别(cpu周期等)。我是更愿意调用notify()来
唤醒
一个线程,并让其他线程处于等待状态;还是调用notifyall()让所有等待线程都进入
阻塞
状态(除了成功转换为runnable的线程)?
浏览 4
提问于2012-09-08
得票数 1
3
回答
std::condition_variable::wait_for
和
std::condition_variable::wait_until有什么区别?
c++
、
multithreading
、
c++11
、
condition-variable
以以下方式解释了两者: wait_until“
阻塞
当前线程,直到条件变量被
唤醒
或到达指定的时间点”。
浏览 10
提问于2012-10-30
得票数 38
回答已采纳
1
回答
慢系统调用
和
快速系统调用的区别
system-calls
、
system-programming
慢系统调用
和
快速系统调用有什么区别?我已经了解到,如果进程捕获了一些信号,慢系统调用可能会
阻塞
,因为捕获的信号可能会
唤醒
被
阻塞
的系统调用,但我不能确切地理解这种机制。如有任何例子,将不胜感激。
浏览 0
提问于2011-06-03
得票数 13
回答已采纳
3
回答
Linux
阻塞
I/O实际上是如何工作的?
linux
、
linux-kernel
、
blocking
在Linux中,当你进行一个
阻塞
的i/o调用,比如read或accept,实际会发生什么? 我的想法是:进程从运行队列中移出,进入等待队列中的等待或
阻塞
状态。然后,当建立tcp连接(用于accept)或硬盘驱动器准备好读取文件时,将引发硬件中断,让等待
唤醒
和
运行的进程(在文件读取的情况下,linux如何知道要
唤醒
哪些进程,因为可能有许多进程在等待不同的文件?
浏览 0
提问于2010-05-06
得票数 9
2
回答
STM中缺乏公平性,为什么不能按FIFO顺序
唤醒
阻塞
线程?
haskell
、
concurrency
、
stm
在此,报告指出: 我希望即使我们必须在STM块中运行所有事务,我们仍然可以以F
浏览 9
提问于2021-12-08
得票数 3
回答已采纳
4
回答
C套接字
阻塞
调用
c
、
multithreading
、
sockets
、
nonblocking
我想知道socket在
阻塞
和
非
阻塞
行为上的行为。当套接字
阻塞
模式改变时,套接字上的线程
阻塞
会发生什么?这是一个场景;thread1(T1)创建一个UDP套接字
和
T1等待(睡觉)等待接收thread2(T2)在套接字接收任何数据之前将套接字模式更改为非
阻塞
模式。是否因为套接字不再
阻塞
而发出信号/<em
浏览 5
提问于2017-08-11
得票数 9
回答已采纳
1
回答
如何知道condition_variable.wait_for是由哪一种方式解除的,虚假的
唤醒
还是cv_status::timeout?
c++
、
c++11
、
condition-variable
、
spurious-wakeup
据我所知,只有带有谓词的condition_variable.wait_for (因为在内部进行双重检查)才能避免被虚假
唤醒
所阻止,但没有谓词的版本(如果不使用时间)则不能解除
阻塞
。因为带有谓词的condition_variable.wait_for只返回bool,所以它无法判断是否被notify_XXX或cv_status::timeout解除
阻塞
;尽管没有谓词的condition_variable.wait_for返回cv_status::timeout,但它无法判断是否被虚假
唤醒
或notify_XXX解除
阻塞
浏览 18
提问于2022-06-13
得票数 1
回答已采纳
2
回答
为什么boost::condition_variable可以使用pthread_cond_signal只
唤醒
一个线程
c++
、
unix
、
boost
、
pthreads
在boost::condition_variable的源代码中,condition_variable::notify_one()方法试图使用pthread_cond_signal()
唤醒
一个线程。pthread_cond_signal(&cond));然而,POSIX说: pthread_cond_signal()函数应该取消
阻塞
至少一个在指定条件变量cond上被
阻塞
的线程(如果在cond上
阻塞
了任何线程)。那么,为什么boost::condition_variable确保pthread_cond_
浏览 2
提问于2020-07-22
得票数 1
1
回答
更好地理解Google控制台Vitals的电池会话
android
、
google-play-services
、
alarmmanager
、
wakeup
、
google-play-console
在新的Google控制台Vitals中,过多的
唤醒
会被监控。以下是谷歌的解释: 每小时发生10次以上
唤醒
的电池会话百分比。电池会话是指设备的两个完全充电之间的时间。
浏览 4
提问于2017-11-16
得票数 0
2
回答
我如何减少我的应用程序的“闲置
唤醒
”?
objective-c
、
macos
、
cocoa
、
osx-mavericks
我知道这与计时器
和
OS试图使我的应用程序更有效的方式有关。如何调试这些空闲的
唤醒
?或者可能的原因是什么?
浏览 0
提问于2014-10-16
得票数 7
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券