📄 cthread.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 + -