VC 多執行緒

2022-03-19 05:26:11 字數 904 閱讀 6442

1.createthread函式

引數說明

2.createmutex

handle createmutex(   

lpsecurity_attributeslpmutexattributes, // sd   

boolbinitialowner, // initial owner   

lpctstrlpname // object name   

引數說明

lpmutexattributes security_attributes,指定乙個security_attributes結構,或傳遞零值(將引數宣告為byval as long,並傳遞零值),表示使用不允許繼承的預設描述符   

binitialowner long,如建立程序希望立即擁有互斥體,則設為true。乙個互斥體同時只能由乙個執行緒擁有   

lpname string,指定互斥體物件的名字。用vbnullstring建立乙個未命名的互斥體物件。如已經存在擁有這個名字的乙個事件,則開啟現有的已命名互斥體。這個名字可能不與現有的事件、訊號機、可等待計時器或檔案對映相符.

3.waitforsingleobject  拿鑰匙進門

dword waitforsingleobject(   

handle hhandle,   

dword dwmilliseconds   

引數hhandle是乙個事件的控制代碼,第二個引數dwmilliseconds是時間間隔。如果事件是有訊號狀態返回wait_object_0,如果時間超過dwmilliseconds值但時間事件還是無訊號狀態則返回wait_timeout。

4. releasemutex

waitforsingleobject(   

handle hhandle,     

);釋放鎖

vc 多執行緒程式設計

mfc2.afxbeginthread函式建立和初始化cwinthread物件,啟動並返回位址。3.pthread new cwinthread pthread m bautodelete false pthread afxbeginthread startandclosethreadproc,nu...

vc 多執行緒程式設計

vc 中的多執行緒程式設計 createamutexwithnoinitialowner.必須要建立乙個控制代碼 hmutex createmutex null,nosecurityattributes false,initiallynotowned mutextoprotectdatabase n...

VC多執行緒的同步

1.利用事件物件同步 事件分為 人工重置的事件物件和自動重置的事件物件。人工重置的事件物件 收到通知,等待的所以執行緒變為可排程執行緒。自動重置的事件物件 收到通知,等待的所以執行緒只有乙個變為可排程。同時作業系統會將事件物件設定為無訊號狀態。為了實現執行緒間的同步,不應該使用人工重置的事件物件,而...