写个函数来解决多线程同时读写一个文件的问题?

RT用php写啊... RT 用php写 啊 展开
 我来答
匿名用户
2013-06-15
展开全部
class Mutex
{
protected:
void *mutex_handler;

public:
// Constructure
Mutex()
{
mutex_handler = new pthread_mutex_t;
pthread_mutex_init((pthread_mutex_t *)mutex_handler, 0);
}

// DeConstructure
inline virtual ~Mutex()
{
if (mutex_handler)
{
pthread_mutex_destroy((pthread_mutex_t *)mutex_handler);
delete (pthread_mutex_t*)mutex_handler;
}
}

void MutexLock(void)
{
pthread_mutex_lock((pthread_mutex_t *)mutex_handler);
}

void MutexUnLock(void)
{
pthread_mutex_unlock((pthread_mutex_t *)mutex_handler);
}
};

// gobal interface for Mutex
struct Guard : public Mutex
{
explicit Guard(void *Handler)
{
Mutex::mutex_handler = Handler;

MutexLock();
}

inline virtual ~Guard()
{
MutexUnLock();
}
};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式