问题描述
我最近了解了诸如 read
之类的系统调用如何阻塞进程,并且这些进程将被置于阻塞状态,直到数据变得可用为止。或者 waitpid
可以阻塞一个进程,直到子进程状态发生变化。
更一般地说,维基百科说
一个进程在没有外部状态或事件发生变化的情况下无法继续时会转换为阻塞状态 https://en.wikipedia.org/wiki/Process_state
内核如何以最小化开销成本的方式监听这些状态变化或事件?我仍在学习,但肯定不能使用轮询,因为这太慢了,对吗?此外,“事件”似乎是抽象的,这意味着我无法假设这些是特定的硬件事件,在这种情况下可以使用硬件中断。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)