首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测量互斥或futex延迟

测量互斥或futex延迟
EN

Stack Overflow用户
提问于 2010-03-26 23:33:49
回答 1查看 1.2K关注 0票数 4

如何测量互斥量、信号量或futex的延迟?我指的是两个事件之间的延迟:解锁先前锁定的互斥锁和锁定互斥锁。有两种情况:当所有线程/进程都在同一个CPU上时(重新调度线程需要多长时间),以及当第一线程在第一个CPU上,第二个线程在第二个CPU上时。

代码语言:javascript
复制
Thread1: Lock(Mutex) Critical1 Unlock(Mutex)|<------->|
Thread2:                              while{trylock}  |Lock(Mutex) Critical2 Unlock(Mutex)|

甚至是

代码语言:javascript
复制
Thread1: work..work..very hard..work...  sem_post()|<----->|
Thread2: sem_wait(semaphore)...............................|sem_wait unlocks here work2..

这个时间很短(~1k周期),所以我不能使用gettimeofday()

EN

回答 1

Stack Overflow用户

发布于 2011-06-14 00:20:58

您可以使用高精度计时器。clock_gettime和CLOCK_MONOTONIC_HR (我知道这已经有一年多的历史了,但仍然有人可能会有同样的问题)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2524453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档