
NPTL
junxin Hong
这个作者很懒,什么都没留下…
展开
-
NPTL:lll_lock() 和 lll_unlock() 的实现
NPTL 库中 lll_lock() 和 lll_unlock() 的实现用到了: sys_futex() 使用了FUTEX_WAIT 操作,使得调用者线程被挂起;使用FUTEX_WAKE 操作来恢复之前被挂起的线程 使用了 GCC 内置的原子性操作函数,__sync_lock_test_and_set()、__sync_synchronize() CAS 的实现借助...原创 2019-10-11 17:09:33 · 1319 阅读 · 1 评论 -
NPTL:CAS 测试
NPTL 中的 CAS 操作借助了 GCC 内置的原子性操作函数__sync_bool_compare_and_swap(),而__sync_bool_compare_and_swap() 是用“比较并替换”指令实现的,该类指令是原子性的。bool __sync_bool_compare_and_swap (type *ptr, type oldval, type newval, ...)...原创 2019-10-11 17:13:40 · 328 阅读 · 0 评论