linux等待队列小问题,本人小白

发布于 2022-09-06 12:06:25 字数 222 浏览 27 评论 0

请问linux等待队列机制,可以将多个进程放到同一个等待队列中的吗?如果可以,请说说大致编程思路。基础的我基本都看了,其实我是想知道,一条等待队列只能对应一个进程吗?一条等待队列中能有多个进程吗?(如果可以)等待队列项是否为此而服务的?
请问可以将等待队列头从内核导出,再在其他驱动中将其进程添加到该等待队列头所属的等待队列中吗?这样是否就能实现了一条等待队列中有多个进程在其中等待呢(若这样不行,那应该用什么方法呢)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

給妳壹絲溫柔 2022-09-13 12:06:26

你这问的太宽泛了,先搞清楚需求和应用场景,这才是写程序第一个考虑的问题

爱给你人给你 2022-09-13 12:06:25

首先回答你的第一个问题,等待队列就是给多进程使用的,如若不然,一个进程进入等待之后,谁来唤醒这个队列呢?但是等待队列可不是为进程服务,他是为全局数据服务的。

第二个问题怎么编程,这个得自己尝试,思路就是定义一个一个全局的等待队列,然后在不同的进程上下文调用这个全局数据区(临界区)数据,那么首先询问是否有人正在读取这个数据,如果没有则不需要进入等待队列,如果有则需要进入等待队列。

可能看起来很复杂,举个例子,比如信号量这个锁内部就是采用了等待队列进行实现的(其他许多锁也是)。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文