📄 hthread.h
字号:
#ifndef HC_THREAD_H
#define HC_THREAD_H 1
//////////////////////////////////////////////////////////////////////////////
//文件名 : HThread.h
//功能 : 线程类,应用于Windows 和 Linux两种系统
//创建/修改日期 : 2003.11.27
//作者 : 韩国静
//
#include "UniThread.h"
class CHThread
{
UNI_ThreadHandle m_hThreadHandle;
UNI_ThreadID m_ThreadID;
public:
//构造函数
CHThread(void)
{
m_hThreadHandle = (UNI_ThreadHandle)UNI_NULL;
m_ThreadID = (UNI_ThreadID)UNI_NULL;
};
//析构函数
~CHThread(void)
{
if(m_hThreadHandle!=UNI_NULL)
{
UNI_CloseThreadHandle(m_hThreadHandle);
m_hThreadHandle =(UNI_ThreadHandle)UNI_NULL;
}
};
//创建新线程。线程入口函数原形为:UNI_THREADPROC ThreadProc (void *pParam);
UNI_BOOL Run(PUNI_THREADPROC pThreadProc, void * pParam)
{
if(m_hThreadHandle!=UNI_NULL)
return UNI_FALSE;
return UNI_CreateThread(pThreadProc,pParam,&this->m_hThreadHandle,&this->m_ThreadID);
};
//等待线程退出并回收线程资源。
UNI_BOOL Join(void)
{
if(m_hThreadHandle==UNI_NULL)
return UNI_FALSE;
return UNI_WaitCloseThread(this->m_hThreadHandle);
};
//Linux下与线程分离, Windows 下释放线程句柄。
UNI_BOOL ReleaseHanele(void)
{
if(UNI_CloseThreadHandle(m_hThreadHandle))
{
m_hThreadHandle=UNI_NULL;
return UNI_TRUE;
}
return UNI_FALSE;
};
//返回线程对象的ID值,
UNI_ThreadID GetThreadID(void)
{
return m_ThreadID;
};
//挂起线程,Linux下返回UNI_FALSE..
UNI_BOOL Suspend(void)
{
return UNI_SuspendThread(this->m_hThreadHandle);
};
//从挂起的地方重新动行线程
UNI_BOOL Resume(void)
{
return UNI_ResumeThread(m_hThreadHandle);
};
//杀死线程对象,议不要使用,最好让线程自己结束。
UNI_BOOL Terminate(void)
{
return UNI_KillThread(m_hThreadHandle);
};
};
#endif//HC_THREAD_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -