1

我有 4 个进程共享一个公共信号量,所有进程都具有相同的优先级。锁内的临界区,具有读/写操作,包括 fflush() 调用。

在日志中,我观察到在从特定进程发出信号后,其他进程需要相当长的时间来获取锁。

由于所有 4 个进程都在同一点锁定,因此嵌入式设备存在性能问题。如果锁是线程间共享的,可以使用 pthread_cond_t 来最小化切换时间。现在,可以做些什么来最小化进程之间的切换时间?

4

1 回答 1

1

内核内部进程之间的上下文切换。内核调度程序的工作是进行上下文切换,因此除了尝试加快调度程序上下文切换路径之外,您在这里无能为力。另一种选择可能是尝试找出问题并通过减少锁争用来改进您的应用程序(也许)。

于 2013-07-23T06:04:32.940 回答