基于pthread实现读写锁

读写锁可用于在多线程访问map等数据结构时使用

#include 
class ReadWriteLock
{
public:
    ReadWriteLock()
    {
        pthread_rwLock_init(&m_lock, NULL);
    }
    ~ReadWriteLock()
    {
        pthread_rwLock_destroy(&m_lock);
    }
    void ReaderLock()
    {
        pthread_rwLock_rdlock(&m_lock);
    }
    void ReaderUnLock()
    {
        pthread_rwLock_unlock(&m_lock);
    }
    void WriterLock()
    {
        pthread_rwLock_wrlock(&m_lock);
    }
    void WriterUnLock()
    {
        pthread_rwLock_unlock(&m_lock);
    }
private:
    //禁止对读写锁进行拷贝
    ReadWriteLock(const ReadWriteLock& src);
    ReadWriteLock& operator=(const ReadWriteLock& rhs);
private:
    pthread_rwlock_t m_lock;
};

 

转载于:https://www.cnblogs.com/share-ideas/p/10895009.html

你可能感兴趣的:(基于pthread实现读写锁)