【AfxBeginThread】使用小結

本文中涉及到的部分內容也是參照網上學習的,在此作出說明。

參照:http://blog.csdn.net/oceanlucy/article/details/7345057

【AfxBeginThread】參數,如果只是簡單的傳【int】類型的

//多線程函數的定義;
UINT Thread1(int pParam)
{
	int nSize = pParam;
	//你的其他處理代碼。。。
	return 0;
}

//多線程的使用部分;
int nSize = 50;
AfxBeginThread((AFX_THREADPROC)Thread1, (VOID*)nSize , THREAD_PRIORITY_NORMAL, 0, 0, NULL);


【AfxBeginThread】參數,如果要傳多個參數或者傳入結構體

//定義一個全局的結構體;
typedef struct SthData 
{
	int iStr;
	int iEnd;
}*pSthData;

//多線程函數的定義;
VOID Thread1(LPVOID lpParam)
{
	//獲得結構體中的值;
	SthData* pStcSthData = (SthData *)lpParam;
	int iStr = pStcSthData->iStr; 
	int iEnd = pStcSthData->iEnd;

	//你的其他處理代碼。。。

	//最後記得刪除結構體的指針並指向NULL;
	delete pStcSthData;
	pStcSthData = NULL;
}

//多線程的使用部分;
	pSthData pDataValue1 = new SthData;
	memset(pDataValue1, 0x00, sizeof(SthData));
	pDataValue1->iStr = 0;
	pDataValue1->iEnd = 10;

	AfxBeginThread((AFX_THREADPROC)BoltThread1, pDataValue1, THREAD_PRIORITY_NORMAL, 0, 0, NULL);


發佈了19 篇原創文章 · 獲贊 13 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章