第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

就是說程序一直處于等待狀態(tài),可是為什么調(diào)試的時候 直接就返回了呢?謝謝~

就是說程序一直處于等待狀態(tài),可是為什么調(diào)試的時候 直接就返回了呢?謝謝~

PHP
慕娘9325324 2023-03-03 17:13:43
1.線程代碼:procedure TTest.Execute;vari:integer;begin{ Place thread code here }OnTerminate:=Form1.Done;if WaitForSingleObject(HMux,INFINITE)=WAIT_OBJECT_0 thenbeginfor i:= 1 to 128 dobeginGarry[i]:=form1.Getnum();sleep(5);end;end;//ReleaseMutex(HMux);end;end.2.主體procedure TForm1.Button1Click(Sender: TObject);beginHMux:=CreateMutex(nil,false,nil);TTest.Create(false);TTest.Create(false);end;請高手解釋下WaitForSingleObject 在不使用//ReleaseMutex(HMux); 釋放互斥體的情況下 程序應(yīng)該一直把線程#2休眠,函數(shù)一直沒有返回才對
查看完整描述

2 回答

?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

你把ReleaseMutex(HMux)這個語句放在了線程最后,寫了跟沒寫一樣,寫了它會執(zhí)行完線程后釋放互斥對象,沒寫它也會在執(zhí)行完線程后釋放互斥對象。
但是如果你把ReleaseMutex(HMux)語句放在線程執(zhí)行代碼中間的話,第一個線程沒執(zhí)行完就會釋放互斥對象,然后第二個線程就在第一個線程沒執(zhí)行完的情況下被激活,如果第一個線程的公共資源還沒釋放,第二個線程爭搶公共資源就會出現(xiàn)問題(發(fā)生死鎖或直接報錯)!
希望我的回答能對你有所幫助?。。?!

查看完整回答
反對 回復(fù) 2023-03-06
?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

不是很清楚你的意圖,
不過你的第一個線程雖然沒有ReleaseMutex,但是線程自己已經(jīng)結(jié)束,估計對應(yīng)的互斥也沒有了,所以第二個線程開始運行。
另外互斥好像是進程級的。

查看完整回答
反對 回復(fù) 2023-03-06
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號