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管道读/写总是会导致上下文切换吗?的主要内容,如果未能解决你的问题,请参考以下文章

linux性能优化CPU上下文切换

Linux中经常说的CPU上下文切换是什么意思

CPU上下文切换(上)

Linux的中断

[转帖]进程上下文频繁切换导致load average过高

CPU上下文切换