【0191】轻量级锁(LWLock,Lightweight lock)概念篇(1)

1. 轻量级锁(Lightweight lock)

轻量级锁(Lightweight locks)主要用于提供对共享内存数据结构的互斥访问。因此,它们同时提供独占和共享锁模式(以支持对共享对象的读/写和只读访问)。 几乎没有其他的破坏。用户级别的锁定应该使用全锁管理器来完成——它依赖于LWLocks 来保护其共享状态。

除了独占和共享模式外,轻量级锁还可用于等待变量更改值。当使用LWLockAcquire()获取锁时,该变量最初没有设置,也就是说, 它仍然设置为上次释放锁时设置的值,并且可以通过调用LWLockUpdateVar()在不释放锁的情况下进行更新。 LWLockWaitForVar()等待变量被更新,或者直到锁被释放。

当使用LWLockReleaseClearVar()释放锁时,可以将该值设置为空闲锁的适当值。变量的含义取决于调用者,轻量级锁代码只是分配和比较它。

2. 轻量级锁实现

这曾经是一个非常直接

猜你喜欢

转载自blog.csdn.net/lixiaogang_theanswer/article/details/130608915