skeynet-src [a] 与 linux kernel [b]

– atomic.h 原子操作

[a] gcc4.1.2版本后内置原子操作函数 sync 系列函数 [b] atomic_t/atomic64_t 类型 <linux/types.h>, 原子操作函数 <asm/atomic.h> / 原子位操作列表

– spinlock.h 自旋锁

最多只能被一个可执行线程持有。

[a] [b]

– rwlock.h 读写锁

如果读写锁当前没有读者,也没有写者,那么写者可以立刻获得读写锁,否则它必须自旋在那里,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以立即获得该读写锁,否则读者必须自旋在那里,直到写者释放该读写锁。

[a] pthread_rwlock_* or rwlock base on sync 基于原子操作的读写锁