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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)有沒(méi)有簡(jiǎn)單的語(yǔ)句放在這兩句語(yǔ)句前后另其簡(jiǎn)單上鎖?

請(qǐng)問(wèn)有沒(méi)有簡(jiǎn)單的語(yǔ)句放在這兩句語(yǔ)句前后另其簡(jiǎn)單上鎖?

C++
慕容森 2023-03-02 18:14:01
現(xiàn)在我在c++ project里面定義了一個(gè)隊(duì)列。 并且有兩個(gè)函數(shù),一個(gè)函數(shù)負(fù)責(zé)進(jìn)隊(duì)列,一個(gè)函數(shù)負(fù)責(zé)讀隊(duì)列。 第一個(gè)進(jìn)隊(duì)列的函數(shù),是已經(jīng)存在dll,并且我可以直接調(diào)用的callback函數(shù),作用就是一有新信息傳送到電腦,就會(huì)把數(shù)據(jù)塞進(jìn)隊(duì)列。 我唯一做的編輯就是在callback里面加入queue.push。 第二個(gè)queue.pop是我自己寫(xiě)的一個(gè)函數(shù),并且完成了一些數(shù)據(jù)處理。 現(xiàn)在復(fù)雜的就是,我并沒(méi)有在c++ 內(nèi)定義線程,而是把這個(gè)工程生成dll,并且在c#內(nèi)調(diào)用這個(gè)dll. 用一個(gè)timer去啟動(dòng)第二個(gè)函數(shù), 第一個(gè)函數(shù)由于在c++內(nèi)已經(jīng)定義好了,也是一個(gè)隨時(shí)會(huì)啟動(dòng)的函數(shù)。所以在一定意義上,他們就是個(gè)多線程。 現(xiàn)在為了queue的數(shù)據(jù)安全,我需要在c++里加入mutex,所以我現(xiàn)在要對(duì)queue上鎖,請(qǐng)問(wèn)我應(yīng)該用什么語(yǔ)句。函數(shù)1里是queue.push()函數(shù)2里是queue.pop();
查看完整描述

2 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

在所有的函數(shù)中這樣操作:
加鎖
進(jìn)行任務(wù)隊(duì)列操作
完成任務(wù)隊(duì)列操作
........或者其他什么操作,反正知道是涉及到兩個(gè)隊(duì)列的操作,全部放在鎖中間
解鎖
只要?jiǎng)e在兩個(gè)隊(duì)列操作時(shí)分別加鎖, 這樣就不會(huì)有任何問(wèn)題

查看完整回答
反對(duì) 回復(fù) 2023-03-06
?
千萬(wàn)里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

CRITICAL_SECTION m_lock;
InitializeCriticalSection(&m_lock);//初始化

//加鎖 

EnterCriticalSection(&m_lock);

queue.push()
LeaveCriticalSection(&m_lock);

EnterCriticalSection(&m_lock);

queue.pop();

LeaveCriticalSection(&m_lock);


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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