Windows多執行緒指南

2021-08-01 03:08:10 字數 1439 閱讀 8176

1.  建立執行緒

● handle createthread(

lpsecurity_attributes 

lpthreadattributes

, size_t 

dwstacksize,

lpthread_start_routine 

lpstartaddress, 

lpvoid 

lpparameter,

dword 

dwcreationflags

, lpdword 

lpthreadid)   // 這是windows作業系統提供的api

●uintptr_t  _beginthreadex(void *

lpthreadattributes

, uint32_t

dwstacksize,

uint32_t __stdcall (*lpstartaddress)(void *), void  *

lpparameter,

uint32_t

dwcreationflags

, uint32_t  *

lpthreadid)   // 這是crt庫函式,最終會呼叫createthread

●unsigned long  _beginthread(

uint32_t  __stdcall (*lpstartaddress)(void *),

uint32_t

dwstacksize

, void  *lpparameter)// 這是crt函式,最終會呼叫createthread

2. 掛起執行緒

● uint32_t suspendthread(__in handle hthread)

3. 重起執行緒

● uint32_t resumethread(__in handle hthread)

4. 結束執行緒

● void _endthread(void)  // 這是crt庫函式,被_beginthread內部呼叫,也會呼叫closehandle(), 

● void _endthreadex(uintptr_t retval)  // 這是crt庫函式,被_beginthreadex內部呼叫,但不會呼叫closehandle(), 

● void closehandle(handle hthread)  // 這是winapi函式

5. 執行緒等待

● dword waitforsingleobject(handle hthread, dword dwmilliseconds)  // 這是winapi函式

● dword waitformultipleobjects(dword ncount, handle *phthread, 

bool bowaitall, dword dwmilliseconds)  // 這是winapi函式

多執行緒程式設計指南

老狼推薦 多執行緒程式設計指南 最後希望這篇文件能幫上那些感覺看官方英文文件困難的人。如果可以我還是推薦盡量檢視英文原文件,畢竟那是原汁原味,翻譯總無法避免有一定的疏漏。下期預告 core data 程式設計指南 以下提供目錄預覽 目錄推薦資源 核心動畫程式設計指南 core animation p...

Windows多執行緒程式設計

一 問題的提出 編寫乙個耗時的單執行緒程式 新建乙個基於對話方塊的應用程式singlethread,在主對話方塊idd singlethread dialog新增乙個按鈕,id為idc sleep six second,標題為 延時6秒 新增按鈕的響應函式,如下 void csinglethread...

windows多執行緒程式設計

程序 乙個執行的程式,記憶體,cpu時間等都歸程序所有.執行緒 cpu排程的最小單位,乙個程序內的多個執行緒共享4g記憶體.程式的乙個執行路徑 1.最基礎的使用方法.createthread,exitthread,closehand include include createthread,exit...