久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 淺談臨界區(qū) [打印本頁]

作者: liuyang    時間: 2012-1-11 20:34
標(biāo)題: 淺談臨界區(qū)
     我查找了資料,然后按自己的理解,吧它寫下來,如果新手看見了也可以了解下。 關(guān)于多線程同步有很多辦法,像臨界區(qū),互斥對象,事件等等 ,臨界區(qū)不屬于內(nèi)核對象其他的屬于內(nèi)核對象,臨界區(qū)只能應(yīng)許一個線程進(jìn)入臨界區(qū),其他線程在發(fā)現(xiàn)臨界區(qū)被占,就會讓出CPU而非等待時間片再次切換,這就 是區(qū)別。但是臨界區(qū)同步很快,所以盡量在需要的地方執(zhí)行時間短的代碼段加上。它的一般用法

//申明臨界區(qū)變量

CRITICAL_SECTION cSec;

//初始化臨界區(qū)變量

InitializeCriticalSection(&cSec);

//進(jìn)入臨界區(qū)
EnterCriticalSection(&cSec);

LeaveCriticalSection(&cSec);

注意:凡是需要同步的線程都需要加上 EnterCriticalSection(&cSec);LeaveCriticalSection(&cSec);  因為其他線程需要在EnterCriticalSection()后才能獲知是否有線程占用臨界區(qū),如果被占讓出CPU,進(jìn)入和離開臨界區(qū)必須是一起的, 否則線程就一直被一個線程占用。還有值得注意的是這個缺點是,一個進(jìn)入臨界區(qū)的線程如果假死的話,那么這程序蕩掉了,所以有時候還要做點處理,至于怎么做 才查下資料吧。

  像其他內(nèi)核對象,和這邊原理也差不多,先把一個對象給一個線程,其他線程必須等待那個對象是否已經(jīng)釋放,否則線程就在那占著CPU空等。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费在线成人 | 亚洲午夜电影 | 欧美日韩久久精品 | 亚洲精品乱码久久久久v最新版 | 国产一区二区三区免费视频 | 久久久青草婷婷精品综合日韩 | 视频一区在线观看 | 亚洲一区二区三区免费视频 | 伊人精品在线视频 | www国产成人免费观看视频 | 91免费视频观看 | 欧美精品一二区 | 国产精品久久久久久久久久免费看 | 在线一区| 婷婷成人在线 | 91视频进入 | 久久久观看| 精品三级 | 久久ww| 日韩一级精品视频在线观看 | 一级黄色av电影 | 精品久久国产 | 久久成人人人人精品欧 | 激情综合五月 | 亚洲视频在线免费观看 | 性高朝久久久久久久3小时 av一区二区三区四区 | 欧美精品一区二区三 | 中文字幕亚洲一区二区三区 | 成人精品一区二区三区中文字幕 | 成人国产在线视频 | 亚欧洲精品在线视频免费观看 | 最近中文字幕在线视频1 | 久久小视频 | 一级片av| 99亚洲综合 | 国产精品美女久久久久久免费 | 爱综合| 欧美美女爱爱视频 | 亚洲欧美综合精品久久成人 | 欧美激情精品久久久久久变态 | 亚洲成人黄色 |