項目是VS2003下的,用到了CreateThread函數,看到網(wǎng)上說(shuō)不應該調用CreateThread,而應該使用_beginthreadex。因為剛好用到了,就還是寫(xiě)一下CreateThread中參數的使用方法。
見(jiàn)代碼:
先定義要傳遞的參數結構體:
typedef struct SParam
{
int No;
unsigned short chnlID;
unsigned short sessionID;
}uParam,*sParam;
DWORD WINAPI AccountManager(PVOID pParam);
void main()
{
DWORD dwThreadId;
HANDLE hThrd = NULL; // thread handle
SParam sparam;
SParam *p;
sparam.No = 1;
sparam.chnlID = 1;
sparam.sessionID = 1;
p = &sparam;
hThrd = (HANDLE)CreateThread(NULL,
0,
AccountManager,
p,
0,
dwThreadId;
}
DWORD WINAPI AccountManager(PVOID pParam)
{
sParam sparam;
sparam = (sParam)pParam;
try
{
/*Run為自己寫(xiě)的一個(gè)方法,Run(int i,unsigned short chnlID,unsigned short sessionID)*/
Run(sparam->No,sparam->chnlID,sparam->sessionID);
}
catch (...)
{
logger.error("AccountManager(%d): System error.\r\n", threadId);
}
}
大體意思是這樣,代碼僅供參考。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。