這篇文章主要講解了“C++中的多線程是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++中的多線程是什么”吧!
創(chuàng)新互聯(lián)提供做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設(shè)計,成都品牌網(wǎng)站建設(shè),一元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10余年的網(wǎng)站開發(fā)和建站經(jīng)驗,助力企業(yè)信息化建設(shè),成功案例突破成百上千家,是您實現(xiàn)網(wǎng)站建設(shè)的好選擇.
在Windows平臺,WindowsAPI提供了對多線程的支持。前面進程和線程的概念中我們提到,一個程序至少有一個線程,這個線程稱為主線程(mainthread),如果我們不顯示地創(chuàng)建線程,那我們產(chǎn)的程序就是只有主線程的間線程程序。
CreateThread與CloseHandle
CreateThread用于創(chuàng)建一個線程,其函數(shù)原型如下:
HANDLEWINAPICreateThread(
LPSECURITY_ATTRIBUTESlpThreadAttributes,//線程安全相關(guān)的屬性,常置為NULL
SIZE_TdwStackSize,//新線程的初始化棧在大小,可設(shè)置為0
LPTHREAD_START_ROUTINElpStartAddress,//被線程執(zhí)行的回調(diào)函數(shù),也稱為線程函數(shù)
LPVOIDlpParameter,//傳入線程函數(shù)的參數(shù),不需傳遞參數(shù)時為NULL
DWORDdwCreationFlags,//控制線程創(chuàng)建的標志
LPDWORDlpThreadId//傳出參數(shù),用于獲得線程ID,如果為NULL則不返回線程ID
);
lpThreadAttributes:指向SECURITY_ATTRIBUTES結(jié)構(gòu)的指針,決定返回的句柄是否可被子進程繼承,如果為NULL則表示返回的句柄不能被子進程繼承。
dwStackSize:線程棧的初始化大小,字節(jié)單位。系統(tǒng)分配這個值對
lpStartAddress:指向一個函數(shù)指針,該函數(shù)將被線程調(diào)用執(zhí)行。因此該函數(shù)也被稱為線程函數(shù)(ThreadProc),是線程執(zhí)行的起始地址,線程函數(shù)是一個回調(diào)函數(shù),由操作系統(tǒng)在線程中調(diào)用。線程函數(shù)的原型如下:
DWORDWINAPIThreadProc(LPVOIDlpParameter);//lpParameter是傳入的參數(shù),是一個空指針
lpParameter:傳入線程函數(shù)(ThreadProc)的參數(shù),不需傳遞參數(shù)時為NULL
dwCreationFlags:控制線程創(chuàng)建的標志,有三個類型,0:線程創(chuàng)建后立即執(zhí)行線程;CREATE_SUSPENDED:線程創(chuàng)建后進入就緒狀態(tài),直到線程被喚醒時才調(diào)用;STACK_SIZE_PARAM_IS_A_RESERVATION:dwStackSize參數(shù)指定線程初始化棧的大小,如果STACK_SIZE_PARAM_IS_A_RESERVATION標志未指定,dwStackSize將會設(shè)為系統(tǒng)預留的值。
返回值:如果線程創(chuàng)建成功,則返回這個新線程的句柄,否則返回NULL。如果線程創(chuàng)建失敗,可通過GetLastError函數(shù)獲得錯誤信息。
BOOLWINAPICloseHandle(HANDLEhObject);//關(guān)閉一個被打開的對象句柄可用這個函數(shù)關(guān)閉創(chuàng)建的線程句柄,如果函數(shù)執(zhí)行成功則返回true(非0),如果失敗則返回false(0),如果執(zhí)行失敗可調(diào)用GetLastError.函數(shù)獲得錯誤信息。
感謝各位的閱讀,以上就是“C++中的多線程是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對C++中的多線程是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
名稱欄目:C++中的多線程是什么
網(wǎng)站URL:http://aaarwkj.com/article8/gghcip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、App開發(fā)、云服務器、關(guān)鍵詞優(yōu)化、網(wǎng)站營銷、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)