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

📄 cthread.h

📁 sun Linux 下的网络编程
💻 H
字号:
/*******************************************************************
   *	cTthread.h
   *    DESCRIPTION:线程类
   *
   *    AUTHOR:
   *
   *    HISTORY:
   *
   *    DATE:2002-8-19
   *
   *******************************************************************/
  
#ifndef __CTHREAD_H__
#define __CTHREAD_H__

#include "osdef.h"

namespace yyc
{
	//定义线程函数指针
	typedef int(FUNC_THREAD)(void *);

	class cThread
	{
	private:
		pthread_t m_thrid;//线程ID
		FUNC_THREAD *m_pFunc;//线程函数
		void *m_pArgs;//传递给线程函数的参数
	private:
		static void *threadfunc(void *p);
	public:
		cThread();
		explicit cThread(FUNC_THREAD *pfunc);
		~cThread();
        bool operator==(const cThread& other) const;
		bool operator!=(const cThread& other) const;

		//启动线程 0-OK 
		int start(void * pArgs);
		//等待线程结束 0-OK
		int join();
		//分离线程,并停止
		int detach();

		void set_func(FUNC_THREAD *pfunc)
		{
			m_pFunc=pfunc;
		}
		//线程在运行为真,否则为假
		bool status()
		{
			return (m_thrid==0)?false:true;
		}
	};
}//?namespace yyc

#endif

⌨️ 快捷键说明

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