Linux管道读/写总是会导致上下文切换吗?
Posted
技术标签:
【中文标题】Linux管道读/写总是会导致上下文切换吗?【英文标题】:Do Linux pipe read/writes ALWAYS cause a context switch? 【发布时间】:2019-03-25 04:05:46 【问题描述】:如果 Linux 管道的两端都由同一个进程处理,是否仍然存在到内核的上下文切换?我怀疑“是”,但我想要一个明确的答案。我相信 BSD 会是“是”。
除了这些怀疑之外,至少会有一个切换到内核用于在管道内进行锁定操作。
*这将用于特殊情况的软件安装,例如“#child procs = 0”,以便父级读写两端等。在这种情况下,fork 将是替换为线程运行器。假设完整的对象模型线程安全。*
【问题讨论】:
【参考方案1】:您说得对,至少会有一次内核切换,但这只是权限更改(通过系统调用实现)而不是上下文切换。
【讨论】:
哦,太棒了。谢谢!以上是关于Linux管道读/写总是会导致上下文切换吗?的主要内容,如果未能解决你的问题,请参考以下文章