日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

多线程(C++)临界区Critical Sections

發布時間:2023/12/4 c/c++ 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多线程(C++)临界区Critical Sections 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 、Critical Sections(功能與Mutex相同,保證某一時刻只有一個線程能夠訪問共享資源,但是不是內核對象,所以訪問速度比Mutex快,但是沒有等待超時的功能,所以有可能導致死鎖,使用要小心)

?

??? 當多個線程訪問一個獨占性共享資源時,可以使用“臨界區”對象。任一時刻只有一個線程可以擁有臨界區對象,擁有臨界區的線程可以訪問被保護起來的資源或代碼段,其他希望進入臨界區的線程將被掛起等待,直到擁有臨界區的線程放棄臨界區時為止,這樣就保證了不會在同一時刻出現多個線程訪問共享資源。

CCriticalSection類的用法非常簡單,步驟如下:

  • 定義CCriticalSection類的一個全局對象(以使各個線程均能訪問),如CCriticalSection critical_section;
  • 在訪問需要保護的資源或代碼之前,調用CCriticalSection類的成員Lock()獲得臨界區對象: critical_section.Lock(); 在線程中調用該函數來使線程獲得它所請求的臨界區。如果此時沒有其它線程占有臨界區對象,則調用Lock()的線程獲得臨界區;否則,線程將被掛起,并放入到一個系統隊列中等待,直到當前擁有臨界區的線程釋放了臨界區時為止。
  • 訪問臨界區完畢后,使用CCriticalSection的成員函數Unlock()來釋放臨界區: critical_section.Unlock();
  • 再通俗一點講,就是線程A執行到critical_section.Lock();語句時,如果其它線程(B)正在執行 critical_section.Lock();語句后且critical_section. Unlock();語句前的語句時,線程A就會等待,直到線程B執行完critical_section. Unlock();語句,線程A才會繼續執行。
  • 注意事項
  • ???? 1) 因為Critical Sections不是內核對象,所以只能用來統一進程內線程間的同步,不能用來多個不同進程間的線程的同步。

    ???? 2) 如果在Critical Sections中間突然程序crash或是exit而沒有調用LeaveCriticalSection,則結果是改線程所對應的內核不能被釋放,該線程成為死線程。

    ???? 3) 要比其他的內核對象的速度要快。

    二、使用CriticalSections的簡單實例,Stack在push的時候可以分為3個步驟,看下面的代碼,但是如果在第2步后此線程中斷切換到其他的線程,其他的線程push后再返回執行時,此線程繼續執行,這樣有可能剛才其他線程push就會被覆蓋了,在stack里找不到了。(下面的代碼在 debug下使用了CriticalSection,release下可能有問題)

    轉載于:https://www.cnblogs.com/ct0421/p/4024416.html

    總結

    以上是生活随笔為你收集整理的多线程(C++)临界区Critical Sections的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 少妇又紧又色又爽又刺激 | 国产精品不卡一区 | 在线亚洲人成电影网站色www | 丰满人妻一区二区三区53 | 国产亚洲视频在线观看 | 天天插天天搞 | 久久婷婷五月综合色国产香蕉 | 免费成人美女在线观看 | 日韩人妻无码一区二区三区99 | 成人hd | 美女视频污 | 欧美另类高清videos的特点 | av导航福利 | 麻豆av网址 | 黄色免费视频 | 成人在线观看一区二区三区 | 魔女鞋交玉足榨精调教 | 久久人体| 成人亚洲天堂 | 成年免费视频黄网站在线观看 | 婷婷综合| 永久免费在线看片 | 亚洲精品婷婷 | 女人性做爰69片免费看 | 欧美成人免费网站 | 日韩av一区在线 | 26uuu国产 | 精品视频在线免费 | 色综合中文综合网 | 国产精品久久网站 | 国产一区二区欧美日韩 | 富二代成人短视频 | 怡红院一区二区三区 | 亚洲人妖在线 | 性猛交富婆╳xxx乱大交天津 | 日本三级一区二区 | av色图在线 | 美女撒尿无遮挡网站 | 欧美一区二区成人 | 国产黄频在线观看 | 免费看黄色aaaaaa 片 | 91免费国产在线 | 成人片网址 | 国产做a | 欧美aaaaaa | 亚洲av电影一区 | 亚洲国产精品人人爽夜夜爽 | 色噜噜色狠狠 | 国产精品成人无码免费 | 欧美a在线看 | 日韩亚洲一区二区三区 | 青娱乐av在线 | 精品在线视频播放 | 字幕网在线观看 | 深夜小视频在线观看 | 91污片| 91久色视频 | av女星全部名单 | 性色生活片 | 美女扒开尿口给男人桶 | 亚洲图色av | 久久久久久久一区二区三区 | 亚洲日本色图 | 岛国精品在线观看 | 91成人在线观看喷潮 | 国产成人精品一区二 | 激情影音| 成人福利网站在线观看 | 色综合欧美 | 污视频软件在线观看 | 色姑娘av | 免费在线观看的黄色网址 | 久久婷婷影视 | 制服丝袜在线第一页 | 国产大奶在线 | 国产美女被遭强高潮免费网站 | 亚洲a成人 | 在线无码va中文字幕无码 | 欧美xxxx视频 | 国产专区一 | 精品伦精品一区二区三区视频密桃 | 美女在线播放 | 动漫3d精品一区二区三区乱码 | 免费成人蒂法网站 | www.亚洲高清 | 午夜裸体性播放 | 91av国产在线| 亚洲精品成人无码 | 成人免费短视频 | 女同激情久久av久久 | 亚洲色婷婷一区二区三区 | 色吧在线视频 | 337p日本大胆噜噜噜鲁 | 欧洲在线观看 | 亲嘴扒胸摸屁股激烈网站 | 欧美精品一级二级三级 | 蜜乳av懂色av粉嫩av | 欧美日韩女优 | 美女张开腿流出白浆 |