【发布时间】:2009-08-06 12:53:56
【问题描述】:
如何测量互斥体提供给操作系统的时间量?主要目标是检测一个互斥锁,它阻塞线程最长时间。
PS:我试过 oprofile。它报告 30% 的时间花在 vmlinux/.poll_idle 中。这是出乎意料的,因为该应用程序旨在占用其核心的 100%。因此,我怀疑,在等待某个互斥锁时,时间会返回给操作系统,而 oprofile 会将其报告为空闲时间。
【问题讨论】:
-
你能说得更具体点吗?我了解您的目标是优化某些系统,并正在寻找互斥锁以获得一些收益。互斥体给出的时间是什么意思?您是否对某些操作系统上下文中您自己的应用程序的互斥体开销感兴趣,或者对操作系统的性能和可扩展性感兴趣。哪个操作系统?因为有些操作系统自带好工具。
-
如何使用 pthread_mutex_trylock() 在不阻塞的情况下循环轮询互斥锁?
标签: c++ c multithreading parallel-processing mutex