封装linux的pthread_mutex_t作为普通锁,pthread_cond_t和pthread_mutex_t一起作为条件锁,能够等待和发送唤醒信号。最后结合二者分别实现了读写锁。两个普通的锁组合成写优先的读写锁,一个条件锁封装为读优先的锁
</pre><pre name="code" class="cpp">//
// Created by ma on 2015/5/29.
//
#ifndef LOCK_H_
#define LOCK_H_
#include <unistd.h>
//normal lock
class Lock {
public:
Lock();
virtual ~Lock();
void lock();
void unlock();
protected:
pthread_mutex_t mutex_t;
};
//lock with condition
class Condition_Lock:public Lock{
public:
Condition_Lock();
virtual ~Condition_Lock();
int wait();
int wait_time(int sec); //wait seconds
void sign