腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
为什么等待队列实现在循环上等待,直到满足条件?
、
wait
_event_interruptible() (或其他等待API)在循环中等待,直到满足某个条件。现在,由于
linux
的线程是作为单独的进程实现的,我认为错误的
唤醒
(在
wait
_event*被
唤醒
时没有满足的条件)表明程序/驱动程序中存在错误。 我错了吗?-是否有任何有效的场景可以发生并使用这种虚假的
唤醒
?换句话说,为什么在循环中等待
wait
_event*实现中的条件?
浏览 1
提问于2012-06-25
得票数 3
回答已采纳
2
回答
在新的
Linux
内核的epoll中是否仍然存在雷鸣羊群问题?
、
、
init_waitqueue_entry(&
wait
, current);} 这是不是意味着只有一个等待项(用户空间中的进程或线程)会被
唤醒
?
浏览 3
提问于2014-06-16
得票数 3
1
回答
sem_
wait
()在
linux
上
唤醒
失败
、
、
、
、
sem_
wait
(&_data_avail));// bug in sem_
wait
?Dequeue()唯一会卡住的地方是sem_
wait
()。但是,由于先进先出已满(也由sem_getvalue()确认),我不明白这是怎么发生的。如果这不是sem_
wait
()中的错误,那么是什么阻止它获得信号量呢? assert(!sem_
wait
(&_data_avail));// bug in sem_
wait</em
浏览 2
提问于2014-12-19
得票数 1
1
回答
Linux
内核:如何在多个等待队列中等待?
、
、
我知道如何使用
wait
_event在
Linux
内核队列中等待,以及如何
唤醒
它们。 现在,我需要弄清楚如何同时在多个队列中等待。我最初的想法是从
wait
_event宏获取代码,多次使用DEFINE_
WAIT
以及prepare_to_
wait
。但是,考虑到prepare_to_
wait
是如何实现的,如果多次添加相同的“服务生”,恐怕队列的内部链接列表就会损坏(如果一个队列导致
唤醒
,但等待条件没有得到满足,等待正在重新启动),这可能会发生。
浏览 2
提问于2016-10-13
得票数 3
回答已采纳
1
回答
关于pthread_cond_
wait
?
、
、
、
pthread_cond_broadcast( &frame->cv );} pthread_mutex_unlock( &frame->mutex );用例是:多个线程同步调用q265_frame_cond_
wait
浏览 1
提问于2016-08-31
得票数 4
2
回答
Linux
内核中
wait
_event与wake_up的竞争条件
、
、
、
在
wait
_event()的实现中,内核执行如下操作:prepare_to_
wait
(); /* enqueue current thread to the
wait
queue */...... try_to_wake_up
浏览 1
提问于2013-09-23
得票数 4
1
回答
基于pthread的事件仅
唤醒
等待的线程
、
在我的C++程序中,我有一个类CEvent,它具有基于pthread的触发器和等待成员函数(在
Linux
上运行)。如果有一个等待的进程,那么实现是非常明显的(例如,有许多在线示例)。但是,现在我需要满足这样的要求,即多个线程正在等待事件,并且在调用trigger()时,所有线程都应该可靠地
唤醒
。作为第二个条件,只有在调用trigger()时正在等待的线程应该被
唤醒
。pthread_cond_broadcast(&condition) wakeUp =
浏览 1
提问于2009-05-28
得票数 5
回答已采纳
2
回答
Linux
内核
wait
_for_completion_timeout未被完全
唤醒
、
在i2c-omap.c中,我可以看到调用线程正在等待超时值设置为1秒的
wait
_for_completion_timeout。然而,在调用"complete“之后,
wait
_for_completion_timeout没有返回。相反,它需要5分钟才能返回。
wait
_for_completion_timeout的返回值为正,表示没有超时。整个I2C交易都是成功的。 同时,我可以看到来自其他驱动程序的printk消息。而且串行控制台还能正常工作。杀死system_server可以让
wait
_for_completio
浏览 6
提问于2012-11-22
得票数 2
1
回答
WaitForMultipleObjects在
Linux
内核中的等价物
、
、
、
、
是否有人尝试过将WaitForMultipleObjects驱动程序代码移植到
Linux
上,并尝试将windows API替换到
Linux
上。可以用
wait
_event_interruptible替换WaitForSingleObject。但是WaitForMultipleObjects呢..我在文章中看到他们正在使用pthread_cond_
wait
作为用户空间应用程序。
linux
内核空间的替代方案是什么.. 谢谢你抽出时间来..
浏览 1
提问于2018-08-13
得票数 0
5
回答
wait
(),notify() -哪个线程最先解锁?
、
、
试图理解
wait
()和notify()。我知道当线程A转到
wait
()时,它会被其他线程的notify()
唤醒
。这是否意味着系统知道线程进入
wait
()的顺序?
浏览 0
提问于2016-11-05
得票数 4
2
回答
`FUTEX_REQUEUE`的错误是什么?
、
我在操作系统类中按需要分配
Linux
手册页,作为对学生在设计同步原语时不要自满的警告。FUTEX_FD (present up to and including
Linux
2.6.25)
浏览 6
提问于2014-08-27
得票数 6
1
回答
为什么在
wait
_event中检查prepare_to_
wait
后的情况是强制性的?
、
、
我试图了解
wait
_event是如何在
linux
内核中实现的。在ldd3中有一个代码示例,其中使用prepare_to_
wait
()解释内部实现。PDEBUG("\"%s\" writing: going to sleep\n",current->comm); finish_
wait
(&
浏览 1
提问于2015-08-28
得票数 1
1
回答
Linux
内核:当抢占发生在
wait
_event_interruptible之后时,prepare_to_
wait
_event会永远睡眠吗?
、
、
在
wait
_event_interruptible上阅读内核的源代码时,我有点困惑,因为考虑到抢占性,它看起来不安全。\4: struct
wait
_queue_entry __wq_entry;19: cmd; \21: finish_
wait
因此,在以下情况下: 只有在
唤醒
浏览 6
提问于2021-07-21
得票数 0
3
回答
Linux
阻塞I/O实际上是如何工作的?
、
、
在
Linux
中,当你进行一个阻塞的i/o调用,比如read或accept,实际会发生什么? 我的想法是:进程从运行队列中移出,进入等待队列中的等待或阻塞状态。然后,当建立tcp连接(用于accept)或硬盘驱动器准备好读取文件时,将引发硬件中断,让等待
唤醒
和运行的进程(在文件读取的情况下,
linux
如何知道要
唤醒
哪些进程,因为可能有许多进程在等待不同的文件?
浏览 0
提问于2010-05-06
得票数 9
2
回答
Linux
内核-等待队列
、
、
我正在阅读“Robert的
Linux
内核开发第三版”,以了解
Linux
内核是如何工作的。(2.6.2.3) /* ‘q’ is the
wait
queue we wish to sleep on */ add_
wait
_queue(q, &
wait
); 我想知
浏览 1
提问于2013-10-12
得票数 3
回答已采纳
2
回答
用signal替换自旋锁
、
、
在
linux
中,我通常使用pthread_cond_
wait
和pthread_cond_signal来暂停线程,并在收到信号时
唤醒
线程。boost库中有这样的东西吗?我匆匆看了一眼,什么也没找到。
浏览 1
提问于2009-06-03
得票数 3
回答已采纳
2
回答
wait
_event_interruptible的代码
、
、
在内核树中哪里可以找到
wait
_event_interruptible的代码。我能找到的是在中将
wait
_event_interruptible定义为__
wait
_event_interruptible。但是我找不到代码。请帮帮我。考虑一个被
wait
_event_interruptible休眠的进程。假设现在有一个中断,并且中断处理程序
唤醒
(Wake_up_event_interruptible)休眠进程。为了使进程成功
唤醒
,
wait
_event_interruptib
浏览 0
提问于2012-06-05
得票数 1
回答已采纳
7
回答
强迫Java中的虚假
唤醒
、
、
、
、
这个问题并不是关于假
唤醒
是否真的发生,因为这里已经详细讨论了这一点:因此这也不是关于为什么我必须在我的
wait
语句周围放一个循环。这是关于: 如果一个
Linux
进程被发出信号,它的等待线程将享受到一个漂亮的、虚假的
唤醒
。看来这只会运行
linux
机器,实际上我有Ubuntu 11.04 -64位。我编写了一个Java程序,其中一个线程等待条件,但没有循环和另一个类,其中一个线程只是等待并得到另一个线程的通知
浏览 2
提问于2011-07-14
得票数 28
回答已采纳
1
回答
python gevent.event.Event
、
Event.set()会
唤醒
被Event.
wait
()阻塞的所有函数吗?evt.set() #second set print("in waiter") print 'after first
wait
' evt.
wait
() #second <em
浏览 4
提问于2015-09-10
得票数 3
回答已采纳
1
回答
Cond for循环澄清
、
根据https://golang.org/pkg/sync/#Cond.
Wait
的说法,人们必须将
Wait
()调用包装在for循环中,因为当第一次恢复时,据说c.L没有被锁定。这与上面的句子"...运行此code时,即使
Wait
()在没有for循环的情况下立即恢复执行,也不会发生运行时错误,并且Unlock()在没有首先锁定的情况下被解锁时应该抛出运行时错误。假设在Go中使用Cond时没有for循环是必要的,因为使用Cond时没有虚假
唤醒
?
浏览 12
提问于2020-04-21
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
并发编程(1)-wait/notify/notifyAll
如何为 Linux 无线网卡配置无线唤醒功能
线程通信:wait和notify
Java wait/notify/notifyAll知识整理
从一次 TIME_WAIT 调优说起
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券