1 Star 0 Fork 5

大王叫我来巡山/call_demo_server

forked from 张远浩/call_demo_server 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Thread.h 1.41 KB
一键复制 编辑 原始数据 按行查看 历史
zhangyuanhao 提交于 2015-08-15 22:38 . [MOD] 修改实现
/*================================================================
* Copyright (C) 2014 All rights reserved.
*
* 文件名称:Thread.h
* 创 建 者:Zhang Yuanhao
* 邮 箱:bluefoxah@gmail.com
* 创建日期:2014年09月10日
* 描 述:
*
#pragma once
================================================================*/
#ifndef __THREAD_H__
#define __THREAD_H__
#include <pthread.h>
class CThread
{
public:
CThread();
virtual ~CThread();
#ifdef _WIN32
static DWORD WINAPI StartRoutine(LPVOID lpParameter);
#else
static void* StartRoutine(void* arg);
#endif
virtual void StartThread(void);
virtual void OnThreadRun(void) = 0;
protected:
#ifdef _WIN32
DWORD m_thread_id;
#else
pthread_t m_thread_id;
#endif
};
class CEventThread : public CThread
{
public:
CEventThread();
virtual ~CEventThread();
virtual void OnThreadTick(void) = 0;
virtual void OnThreadRun(void);
virtual void StartThread();
virtual void StopThread();
bool IsRunning() { return m_bRunning; }
private:
bool m_bRunning;
};
class CThreadNotify
{
public:
CThreadNotify();
~CThreadNotify();
void Lock() { pthread_mutex_lock(&m_mutex); }
void Unlock() { pthread_mutex_unlock(&m_mutex); }
void Wait() { pthread_cond_wait(&m_cond, &m_mutex); }
void Signal() { pthread_cond_signal(&m_cond); }
private:
pthread_mutex_t m_mutex;
pthread_mutexattr_t m_mutexattr;
pthread_cond_t m_cond;
};
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xxd/call_demo_server.git
git@gitee.com:xxd/call_demo_server.git
xxd
call_demo_server
call_demo_server
master

搜索帮助