标签: linux multithreading linux-kernel multiprocessing ipc
如果Linux管道的两端由同一进程处理,是否还有上下文切换到内核?我怀疑是,但是我想要一个明确的答案。我相信BSD会“是”。
除了这些怀疑之外,至少还有一个切换到内核的开关,用于锁定管道内部的操作。
*这将用于特殊情况的软件安装,例如“#child procs = 0”,以便父级读写两端,等等。在这种情况下, fork 为换成穿线器。假定对象模型线程完全安全。*
答案 0 :(得分:0)
您是正确的,至少有一个到内核的切换,但这只是特权更改(通过syscall实现),而不是上下文切换。