thread.h

来自「线程池+socket」· C头文件 代码 · 共 58 行

H
58
字号
/*
 *Thread.h
 */
#ifndef THREAD_H
#define THREAD_H

#include <unistd.h>#include <sys/wait.h>
#include <sys/types.h>
#include <sched.h>
#include <fcntl.h>
#include <tcl.h>#include <pthread.h>
#include <stdio.h>#include <string.h>#include <stdlib.h>
#include <algorithm>#include <iostream>
#include "ErrorLog.h"
using namespace std;

#define	THREAD_DE_BUG	1
#define CTHREAD		"CThread"
enum Thread_State
{
	Thread_Idle	= 0,	//空闲
	Thread_Busy	= 1,	//忙碌
	Thread_Hup	= 2,	//挂起
	Thread_Exit	= 3	//终止
};

class CThread : public CErrorLog
{
public:
	CThread();
	virtual ~CThread();
	
public:
	bool    	Terminate(void);    	//终止
	bool    	Start(void);        	//启动
    	void    	Wait(void);		//等待
    	bool    	Wakeup(void);		//苏醒
    	void		SetState(Thread_State state) {m_State = state;}
    	
    	unsigned long	GetThreadID() const {return m_ThreadID;}
    	
public:
    	virtual	void	Run(void) = 0;
	
public:
	pthread_mutex_t m_mutex;		//
	pthread_cond_t 	m_cond;
	unsigned long 	m_ThreadID;
	Thread_State	m_State;		//线程状态
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?