【发布时间】:2015-02-20 08:35:18
【问题描述】:
我正在创建一个 C 程序来测量项目的进程切换,但我遇到了一些困难。我使用的方法是创建 2 个管道,父管道和子管道。父级将一个字节写入其管道,然后读取子管道,理论上强制控制子管道。子 e 读取父管道并将一个字节写入子管道。
这是我的问题:
进程实际上并没有被强制切换。如果我使用睡眠而不是上述方法,那么它们会切换,但我试图不使用睡眠。我如何强制他们切换?
我正在使用 CLOCK_MONOTONIC 进行测量,但无法确定在哪里开始和停止它。无论我把它们放在哪里,我都会不断收到垃圾值(假设我在每个过程中都放了一个:从一个开始,在另一个停止)。我把时钟放在哪里?
感谢您的帮助。
【问题讨论】:
-
在信号量上阻止父级。
标签: c operating-system pipe fork