我有4个进程共享一个公共信号量,所有进程都具有相同的优先级。 锁内的关键区域具有读/写操作,包括 fflush()电话。
在日志中,我观察到在从特定进程发出信号量之后, 其他进程获得锁定需要相当长的时间。
由于所有4个进程都锁定在同一点,因此嵌入式设备存在性能问题。如果线程之间共享锁,则可以使用pthread_cond_t来最小化切换时间。现在,可以做些什么来最小化进程之间的切换时间?
答案 0 :(得分:1)
内核中保存的进程之间的上下文切换。内核调度程序的工作是进行上下文切换,因此除了尝试加速调度程序上下文切换路径之外,您不能做太多事情。另一种选择可能是尝试找出问题,并通过减少锁争用来改善您的应用程序(可能)。