Skip to content

ipc::rw_lock

木头云 edited this page Apr 3, 2019 · 1 revision

简单的共享自旋锁(单写多读锁)实现。其实例可以放入共享内存中作为进程间的互斥锁。

class rw_lock {
public:
    void lock  () noexcept;
    void unlock() noexcept;

    void lock_shared  () noexcept;
    void unlock_shared() noexcept;
};
成员
lock 加写锁。若已被加锁,则此函数将一直循环等待。不可重入。
unlock 解写锁(同时清空所有读锁)。若已被加锁,则此函数将解锁。尚未加锁时调用无效果。
lock_shared 加读锁。若已被加写锁,则此函数将一直循环等待。多个读者可同时加锁。可重入。
unlock_shared 解读锁。若已被加读锁,则此函数将解除读锁。尚未加读锁时调用此函数行为未定义。

Home
Tutorial

namespaces

classes

head files

Clone this wiki locally