大多数__sync_local_test_and_set的搜索结果都提到它可以用来实现自旋锁而不是互斥锁。mutex without closely interacting with the kernel(futex system call),并给出了一个用__sync_lock_test_and_set实现自旋锁的示例但是我认为__sync_lock_test_and_set也可以用来实现互斥锁:
if (__sync_lock_test_and_t
Windows CRITICAL_SECTION的实现方式比互斥锁轻(就锁/解锁成本而言),使用自旋锁和信号量来减少用户/内核开关。一个互斥锁需要一个上下文开关,即使互斥锁目前没有被拥有/锁定,其中一个CRITICAL_SECTION只会在一段时间后才恢复自旋锁(结果是更好的perf )。“pthread_mutex_.”强制设置上下文开关,即使互斥对