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

📄 thread.h

📁 迷宫游戏VC++源代码 界面很不错
💻 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 + -