【发布时间】:2010-11-09 14:32:12
【问题描述】:
这是对我之前问题的扩展
How does blocking mode in unix/linux sockets works?
我现在从 Internet 收集到的信息,所有调用阻塞调用的进程都处于休眠状态,直到调度程序找到解除阻塞的原因。原因可能会有所不同,从缓冲区空到缓冲区满再到任何其他情况。
但是,这是否是一种有效的实时方式,比如说硬/固定实时应用程序?因为当解锁条件为真时,进程并没有被解锁,而是当调度器给他他的 CPU 片时,并且解锁条件都为真。
好像你想要一个响应式解决方案,我不认为“自旋锁”或“忙等待”是正确的方法,CPU 片被浪费,并且整个系统将变得无响应或可能反应迟钝。
有人可以清除这些相互矛盾的想法吗?
【问题讨论】:
标签: c linux operating-system