gpt4 book ai didi

c - Linux 和 C : How to set file reading priority in multi-process program?

转载 作者:IT王子 更新时间:2023-10-29 00:47:39 24 4
gpt4 key购买 nike

这是我正在处理的作业,不,我不是要你给我答案。我只需要有人为我指明正确的方向,可能需要一两行示例代码。

我需要弄清楚如何在我的程序中设置文件读取操作的优先级。重点:

  • 服务器进程收到一条消息并产生一个子进程来处理它
  • child 尝试从消息中打开文件名并开始将文件内容加载到消息队列中
  • 可能有多个 child 同时运行,初始消息包含优先级,因此某些消息可能会获得更多设备访问权限

我能想到的唯一方法(现在,无论如何)是每次我创建消息时增加一个计数器,并在计数器达到该进程的指定优先级的给定值后执行类似 sched_yield 的操作.这很可能是一种可怕的、可怕的方法,但这是我目前所能想到的。分配更多的是关于消息队列而不是其他任何事情,但我们仍然必须有数据传输优先级。

感谢任何帮助/指导:)

最佳答案

让子进程池共享一个信号量。一旦 child 获得信号量,它就可以从资源中读取预定义数量的字节并将其返回给客户端。读取的字节数可以与请求的优先级相关。一旦进程读取了预定义的字节数,就释放信号量。

关于c - Linux 和 C : How to set file reading priority in multi-process program?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/518898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com