_afxwin.h

来自「MFC的线程局部存储的源代码,主要讲述MFC的线程局部存储。需要的可以下载。」· C头文件 代码 · 共 56 行

H
56
字号
#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 + =
减小字号Ctrl + -
显示快捷键?