⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thread.h

📁 线程池+socket
💻 H
字号:
/*
 *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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -