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

📄 _afxwin.h

📁 MFC的线程局部存储的源代码,主要讲述MFC的线程局部存储。需要的可以下载。
💻 H
字号:
#include "_afxstat_.h"


extern CThreadSlotData* _afxThreadData;

typedef UINT (__cdecl *AFX_THREADPROC)(LPVOID);

class CWinThread
{
public:
// 线程对象的初始化(Constructors)
	CWinThread();
	BOOL CreateThread(DWORD dwCreateFlags = 0, UINT nStackSize = 0,
		LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);


// 保存和设置线程对象特有的属性(Attributes)
	BOOL m_bAutoDelete;	// 指示在线程结束后,是否要销毁此对象

	HANDLE m_hThread;
	DWORD m_nThreadID;	
	operator HANDLE() const
		{ return this == NULL ? NULL : m_hThread; }
	
	int GetThreadPriority()
		{ return ::GetThreadPriority(m_hThread); }
	BOOL SetThreadPriority(int nPriority)
		{ return ::SetThreadPriority(m_hThread, nPriority); }

// 对线程的操作(Operations)
	DWORD SuspendThread()
		{ return ::SuspendThread(m_hThread); }
	DWORD ResumeThread()
		{ return ::ResumeThread(m_hThread); }

// 具体实现(Implementation)
public:
	virtual ~CWinThread();
	virtual void Delete();
	void CommonConstruct();
public:
	CWinThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam);

	LPVOID m_pThreadParams;		// 用户传递给新线程的参数
	AFX_THREADPROC m_pfnThreadProc; // 线程函数的地址
};

// 提供给用户使用的全局函数
CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam,
	int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0,
	DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
CWinThread* AfxGetThread();
void AfxEndThread(UINT nExitCode, BOOL bDelete = TRUE);


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -