📄 threadmgr.h
字号:
//sunwangme@hotmail.com
#pragma once
#define MAX_THREAD_NUMBER 1024
class CThreadMgr
{
//单件
public:
static CThreadMgr* Instance();
virtual ~CThreadMgr();
static void Release(); //2007.3.22,独立的程序来负责释放避免没必要的先一定要创建然后才能释放
protected:
CThreadMgr();
CThreadMgr(const CThreadMgr&);
CThreadMgr& operator=(const CThreadMgr&);
//线程管理
public:
void SpawnV(int nNumber); //create all worker,init state = SUSPENDED
void SupsendAll(); //set flag and wait for all thread state to suspended
void ResumeAll(); //set flag and wait for all thread state to resumed
virtual void StopAll(); //wait for all thread exit
BOOL GetOverFlag();
//内部函数
protected:
HANDLE Spawn(int nIndex);//create one worker
static unsigned __stdcall Worker(void* pArg);
BOOL GetExitFlag();
virtual BOOL DoWork(int nIndex);//if need exit,return TRUE;
void PutOverFlag(BOOL bOver);
private:
HANDLE m_hThreads[MAX_THREAD_NUMBER];
int m_nThreadNumber;
static CThreadMgr* s_pThreadMgr;
BOOL m_bFlagExit;
BOOL m_bFlagOver;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -