?? thread.h
字號:
#ifndef _THREAD_H_
#define _THREAD_H_
#pragma once
//=====================================================================================
#include "Lock.h"
//=====================================================================================
// 一個線程模型類
//首先,定義一個DWORD pWorkFun(void*pParam,CThread*pThread)類型的函數作為線程的運行函數,
//函數中調用pThread->IsStop()來判定是否要退出該函數,警告:不要用pThread調用其他函數和變量
//其次,在主程序中,調用Create創建后臺線程,主程序退出時,調用Destroy來關閉后臺線程。
//最后,構造這樣的一個類,是為了代碼的重用。居然能重用?太好了,因為我很懶,哈哈
//=====================================================================================
class CThread
{
public:
void Create( DWORD (*pWorkFun)(void*pParam,CThread*),void* lpParam); //由主程序調用,創建后臺線程
void Destroy(); //由主程序調用,關閉后臺線程,釋放資源
CThread();
virtual ~CThread();
friend DWORD WINAPI ThreadFun(void* lpParam); //后臺工作線程函數
bool IsStop(); //是否停止工作
private:
void* m_Param;
DWORD (*m_pWorkFun)(void*pParam,CThread*);
bool m_Stop; //是否停止線程
CLock m_Lock; //用于對m_Stop訪問的互斥控制
HANDLE m_hThread; //線程的句柄
};
//======================================================================================
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -