Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 使用信号量强制流程切换以测量流程切换的成本_C_Linux_Operating System_Semaphore_Binary Semaphore - Fatal编程技术网

C 使用信号量强制流程切换以测量流程切换的成本

C 使用信号量强制流程切换以测量流程切换的成本,c,linux,operating-system,semaphore,binary-semaphore,C,Linux,Operating System,Semaphore,Binary Semaphore,我试图衡量进程切换的成本,为此我尝试使用一个信号量。我很难想出怎么做。有人能帮我一个算法或想法吗? 现在我使用fork,有两个if语句,一个用于if-pid==0,另一个用于pid>0。我将使用CLOCK_MONOTONIC来获取时钟测量值,但我不确定如何处理信号量本身。一些代码将有助于理解您正在使用的线程函数、信号量函数和计时函数。另外,您应该为您正在使用的实际操作系统添加一个标记。使用信号量来衡量进程切换的成本可能不会给出非常准确的结果。我会说,只需测量单独作为a运行的进程的性能,测量作为B

我试图衡量进程切换的成本,为此我尝试使用一个信号量。我很难想出怎么做。有人能帮我一个算法或想法吗?
现在我使用fork,有两个if语句,一个用于if-pid==0,另一个用于pid>0。我将使用CLOCK_MONOTONIC来获取时钟测量值,但我不确定如何处理信号量本身。

一些代码将有助于理解您正在使用的线程函数、信号量函数和计时函数。另外,您应该为您正在使用的实际操作系统添加一个标记。使用信号量来衡量进程切换的成本可能不会给出非常准确的结果。我会说,只需测量单独作为a运行的进程的性能,测量作为B和C并行运行的两个相同进程的性能,看看a和B+C之间有什么区别。