linux等待队列小问题,本人小白
请问linux等待队列机制,可以将多个进程放到同一个等待队列中的吗?如果可以,请说说大致编程思路。基础的我基本都看了,其实我是想知道,一条等待队列只能对应一个进程吗?一条等待队列中能有多个进程吗?(如果可以)等待队列项是否为此而服务的?
请问可以将等待队列头从内核导出,再在其他驱动中将其进程添加到该等待队列头所属的等待队列中吗?这样是否就能实现了一条等待队列中有多个进程在其中等待呢(若这样不行,那应该用什么方法呢)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你这问的太宽泛了,先搞清楚需求和应用场景,这才是写程序第一个考虑的问题
首先回答你的第一个问题,等待队列就是给多进程使用的,如若不然,一个进程进入等待之后,谁来唤醒这个队列呢?但是等待队列可不是为进程服务,他是为全局数据服务的。
第二个问题怎么编程,这个得自己尝试,思路就是定义一个一个全局的等待队列,然后在不同的进程上下文调用这个全局数据区(临界区)数据,那么首先询问是否有人正在读取这个数据,如果没有则不需要进入等待队列,如果有则需要进入等待队列。
可能看起来很复杂,举个例子,比如信号量这个锁内部就是采用了等待队列进行实现的(其他许多锁也是)。
https://www.cnblogs.com/zxc2m...