www.pudn.com > MyLinuxThread.rar > Thread.h, change:2007-05-17,size:1114b
///
/// @file Thread.h
/// @brief 线程的封装 , 子类继承并实现自己的功能
/// @author guozhiming
/// @date 2007-05-16
///
#ifndef __G_THREAD__
#define __G_THREAD__
#include "def.h"
class G_Thread
{
public:
/// @brief 构造函数
G_Thread();
/// @brief 析构函数
~G_Thread();
/// @brief 获得线程id
///
/// @return 线程id
pthread_t getThreadId();
/// @brief 启动线程
bool Start();
/// @brief 线程停止
void pause();
/// @brief 线程继续运行
void continues();
private:
/// @brief 屏蔽SIGUSR1信号 , POSIX标准建议在调用sigwait()等待信号以前,进程中所有线程都应屏蔽该信号,以保证仅有sigwait()的调用者获得该信号 , 如果不屏蔽该信号,在sigwait()之前调用pthread_kill()就会出现User defined signal 1.
void maskSIGUSR1();
/// @brief 线程pid
pthread_t g_pid;
/// @brief 信号
sigset_t g_waitSig;
/// @brief 线程运行主函数
///
/// @param arg
///
/// @return
static void *threadFun(void *arg);
protected:
virtual void Run() = 0;
};
#endif