linux多线程读写锁类

    基于linux的posix多线程读写锁的头文件ThreadReadWriteLock.h


#ifndef ThreadReadWriteLock.class
#define ThreadReadWriteLock.class

#include <pthread.h>

class ThreadReadWriteLock
{
public:
	ThreadReadWriteLock();
	~ThreadReadWriteLock();

	bool SetReadLock();
	bool SetWriteLock();
	void Unlock();

private:
	pthread_rwlock_t rwlock;
};

#endif

 ThreadReadWriteLock.cpp

#include "ThreadReadWriteLock.h"

ThreadReadWriteLock::ThreadReadWriteLock()
{
	pthread_rwlock_init(&rwlock,NULL);
}

ThreadReadWriteLock::~ThreadReadWriteLock()
{
}

int ThreadReadWriteLock::SetReadLock()
{
	int readReturn = pthread_rwlock_rdlock(&rwlock);
	if(readReturn == 0)
		return true;
	else
		return false;
}

int ThreadReadWriteLock::SetWriteLock()
{
	int writeReturn = pthread_rwlock_wrlock(&rwlock);
	if(writeReturn == 0)
		return true;
	else
		return false;
}

void ThreadReadWriteLock::Unlock()
{
	pthread_rwlock_unlock(&rwlock);
}

对于返回值,可根据实际情况适当修改.如有错误,请指正.

你可能感兴趣的:(linux多线程读写锁类)