有没有读自旋锁并写自旋锁?

时间:2017-11-17 09:29:56

标签: c linux locking

喜欢

pthread_rwlock_t lock;
pthread_rwlock_rdlock(&lock);
pthread_rwlock_wrlock(&lock);

螺旋锁是否有相似的锁定?

1 个答案:

答案 0 :(得分:0)

读锁和写锁的区别在于,读锁是共享(即可以由多个线程获取),但写锁是独占(只有在其他锁定生效时才能获取。)

pthread spinlock接口仅支持带有pthread_spin_lock()独占锁,因此无法开箱即用。但是,您可以通过维护适当的(计数器)结构并使用pthread_spin_trylock()来模拟上述行为(当然也必须同步对此结构的访问)。然而,这可能会抵消"轻量化"的重大优势。自旋锁。