青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

臨界區(qū)

  定義臨界區(qū)變量

CRITICAL_SECTION gCriticalSection;

  通常情況下,CRITICAL_SECTION結(jié)構(gòu)體應(yīng)該被定義為全局變量,以便于進(jìn)程中的所有線程方便地按照變量名來引用該結(jié)構(gòu)體。

  初始化臨界區(qū)

VOID WINAPI InitializeCriticalSection(
 LPCRITICAL_SECTION lpCriticalSection
 //指向程序員定義的CRITICAL_SECTION變量
);

  該函數(shù)用于對pcs所指的CRITICAL_SECTION結(jié)構(gòu)體進(jìn)行初始化。該函數(shù)只是設(shè)置了一些成員變量,它的運(yùn)行一般不會(huì)失敗,因此它采用了VOID類型的返回值。該函數(shù)必須在任何線程調(diào)用EnterCriticalSection函數(shù)之前被調(diào)用,如果一個(gè)線程試圖進(jìn)入一個(gè)未初始化的CRTICAL_SECTION,那么結(jié)果將是很難預(yù)計(jì)的。

  刪除臨界區(qū)

VOID WINAPI DeleteCriticalSection(
 LPCRITICAL_SECTION lpCriticalSection
 //指向一個(gè)不再需要的CRITICAL_SECTION變量
);

  進(jìn)入臨界區(qū)

VOID WINAPI EnterCriticalSection(
 LPCRITICAL_SECTION lpCriticalSection
 //指向一個(gè)你即將鎖定的CRITICAL_SECTION變量
);

  離開臨界區(qū)

VOID WINAPI LeaveCriticalSection(
 LPCRITICAL_SECTION lpCriticalSection
 //指向一個(gè)你即將離開的CRITICAL_SECTION變量
);

  使用臨界區(qū)編程的一般方法是:

void UpdateData()
{
 EnterCriticalSection(&gCriticalSection);
 ...//do something
 LeaveCriticalSection(&gCriticalSection);
}

  關(guān)于臨界區(qū)的使用,有下列注意點(diǎn):

  (1)每個(gè)共享資源使用一個(gè)CRITICAL_SECTION變量;

  (2)不要長時(shí)間運(yùn)行關(guān)鍵代碼段,當(dāng)一個(gè)關(guān)鍵代碼段長時(shí)間運(yùn)行時(shí),其他線程就會(huì)進(jìn)入等待狀態(tài),這會(huì)降低應(yīng)用程序的運(yùn)行性能;

  (3)如果需要同時(shí)訪問多個(gè)資源,則可能連續(xù)調(diào)用EnterCriticalSection;

  (4)Critical Section不是OS核心對象,如果進(jìn)入臨界區(qū)的線程"掛"了,將無法釋放臨界資源。這個(gè)缺點(diǎn)在Mutex中得到了彌補(bǔ)。

  互斥

  互斥量的作用是保證每次只能有一個(gè)線程獲得互斥量而得以繼續(xù)執(zhí)行,使用CreateMutex函數(shù)創(chuàng)建:

HANDLE CreateMutex(
 LPSECURITY_ATTRIBUTES lpMutexAttributes,
 // 安全屬性結(jié)構(gòu)指針,可為NULL
 BOOL bInitialOwner,
 //是否占有該互斥量,TRUE:占有,F(xiàn)ALSE:不占有
 LPCTSTR lpName
 //信號量的名稱
);

  Mutex是核心對象,可以跨進(jìn)程訪問,下面的代碼給出了從另一進(jìn)程訪問命名Mutex的例子:

HANDLE hMutex;
hMutex = OpenMutex(MUTEX_ALL_Access, FALSE, L"mutexName");
if (hMutex){
 …

else{
 …
}

  相關(guān)API:

BOOL WINAPI ReleaseMutex(
 HANDLE hMutex
);

  使用互斥編程的一般方法是:

void UpdateResource()
{
 WaitForSingleObject(hMutex,…);
 ...//do something
 ReleaseMutex(hMutex);
}

  互斥(mutex)內(nèi)核對象能夠確保線程擁有對單個(gè)資源的互斥訪問權(quán)。互斥對象的行為特性與臨界區(qū)相同,但是互斥對象屬于內(nèi)核對象,而臨界區(qū)則屬于用戶方式對象,因此這導(dǎo)致mutex與Critical Section的如下不同:

  (1) 互斥對象的運(yùn)行速度比關(guān)鍵代碼段要慢;

  (2) 不同進(jìn)程中的多個(gè)線程能夠訪問單個(gè)互斥對象;

  (3) 線程在等待訪問資源時(shí)可以設(shè)定一個(gè)超時(shí)值。

  下圖更詳細(xì)地列出了互斥與臨界區(qū)的不同:


Posted on 2005-12-30 18:50 艾凡赫 閱讀(922) 評論(0)  編輯 收藏 引用 所屬分類: 多線程
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美图区在线视频| 亚洲高清三级视频| 亚洲一区视频在线观看视频| 嫩草影视亚洲| 亚洲第一中文字幕| 久久影院午夜论| 久久精品中文字幕一区二区三区| 一本到高清视频免费精品| 日韩视频中午一区| 亚洲视频高清| 久久久久久网站| 亚洲激情成人在线| 亚洲一区视频在线| 久久免费99精品久久久久久| 久久人人看视频| 国产精品第三页| 尤物九九久久国产精品的特点 | 欧美午夜片在线观看| 欧美人与性动交cc0o| 欧美午夜一区二区福利视频| 国产精品久久久久国产a级| 国产精品永久在线| 99在线|亚洲一区二区| 午夜日韩在线观看| 欧美激情在线播放| 羞羞答答国产精品www一本| 欧美激情一区二区三区高清视频| 国产精品v一区二区三区| 最新国产精品拍自在线播放| 亚洲影视在线| 亚洲精品乱码久久久久久久久| 亚洲在线免费| 国产日韩一区二区三区在线播放| 日韩视频免费观看| 亚洲国产精品尤物yw在线观看| 亚洲一区二区三区久久| 欧美日韩一级黄| 一区二区日韩| 99精品国产福利在线观看免费 | 一区二区三区亚洲| 欧美午夜精品理论片a级按摩| 久久久亚洲国产美女国产盗摄| 一区二区激情视频| 国产精品久久777777毛茸茸| 久久精品国产99国产精品澳门| 欧美成人精品影院| 免费成人在线视频网站| 久久中文字幕导航| 久久这里有精品视频| 久久影视精品| 精品动漫3d一区二区三区免费版| 亚洲国产综合视频在线观看| 午夜久久美女| 久久精品国产综合| 久久国产天堂福利天堂| 亚洲欧美日韩国产一区二区| 国产亚洲一区二区三区在线观看| 免费在线观看成人av| 欧美 日韩 国产在线| 亚洲欧美电影在线观看| 欧美在线地址| 亚洲综合导航| 美女福利精品视频| 午夜视频一区| 欧美精品一区二区久久婷婷| 怡红院精品视频在线观看极品| 亚洲成在人线av| 欧美护士18xxxxhd| 国产欧美日韩亚洲一区二区三区| 欧美黄污视频| 悠悠资源网亚洲青| 欧美一区二区福利在线| 欧美一级精品大片| 欧美视频在线免费看| 亚洲国产成人精品女人久久久| 国产精品免费电影| 亚洲性av在线| 欧美专区在线观看| 国产伦精品一区二区三区免费迷| 夜夜爽www精品| 99国产精品自拍| 欧美日韩亚洲系列| 亚洲一二区在线| 久久国产加勒比精品无码| 欧美日韩激情小视频| 亚洲免费观看视频| 午夜激情一区| 久久香蕉国产线看观看网| 国产欧美一区二区白浆黑人| 久久精品123| 亚洲第一区中文99精品| 日韩一区二区精品| 国产精品一区二区黑丝| 欧美一级专区免费大片| 久久综合狠狠综合久久激情| 在线观看视频免费一区二区三区| 欧美成人第一页| 亚洲伊人一本大道中文字幕| 久久成人免费日本黄色| 亚洲日本免费电影| 国产精品日韩精品| 欧美va日韩va| 久久精品夜色噜噜亚洲a∨ | 国产女主播一区二区三区| 久久久久久免费| 亚洲理论在线| 日韩一区二区免费看| 理论片一区二区在线| 欧美一区二区三区在线视频| 亚洲欧洲精品成人久久奇米网| 国产精品一二三| 欧美视频中文字幕| 欧美日韩在线精品一区二区三区| 久久久久久久久久久久久女国产乱| 亚洲视频精选| 亚洲一区二区三区精品在线观看| 99pao成人国产永久免费视频| 欧美激情久久久| 亚洲国产天堂久久综合| 亚洲区一区二区三区| 噜噜噜噜噜久久久久久91| 午夜伦欧美伦电影理论片| 在线不卡a资源高清| 欧美精品首页| 欧美另类亚洲| 国产精品成人一区二区| 国产精品高清免费在线观看| 欧美日韩综合一区| 国产欧美丝祙| 亚洲第一精品在线| 亚洲性人人天天夜夜摸| 先锋影院在线亚洲| 免费人成精品欧美精品| 亚洲国产成人porn| 亚洲深夜福利| 乱人伦精品视频在线观看| 欧美/亚洲一区| 国产真实久久| 一本一本久久| 麻豆精品视频在线| 亚洲社区在线观看| 欧美大片专区| 亚洲成人在线免费| 欧美一区二区大片| 一本色道久久88综合亚洲精品ⅰ | 午夜久久久久| 国产精品久久久久久久7电影| 国产一区视频观看| 欧美在线观看www| 亚洲一区二区免费视频| 欧美激情区在线播放| 好看的亚洲午夜视频在线| 亚洲欧美中文日韩在线| 亚洲人www| 欧美日韩性生活视频| 一本色道久久综合狠狠躁篇的优点 | 蜜桃av久久久亚洲精品| 国产色综合久久| 欧美中文字幕精品| 欧美亚洲在线播放| 国产麻豆综合| 久久久美女艺术照精彩视频福利播放| 99亚洲伊人久久精品影院红桃| 欧美mv日韩mv国产网站| 亚洲国产精品久久久久秋霞影院 | 欧美日韩hd| 亚洲一区尤物| 麻豆成人在线观看| 夜夜嗨av色综合久久久综合网| 亚洲毛片av| 国产一区二区三区四区五区美女| 久久久91精品国产一区二区三区| 久久精品二区亚洲w码| 亚洲毛片av| 午夜精品久久久久久久男人的天堂 | 欧美成va人片在线观看| 亚洲欧美日韩国产中文| 久久人人爽爽爽人久久久| 亚洲精品少妇| 久久精品国产第一区二区三区| 亚洲国产精品激情在线观看| 亚洲欧美电影在线观看| 亚洲国产成人在线| 小黄鸭精品aⅴ导航网站入口| 日韩一级精品视频在线观看| 亚洲欧美精品伊人久久| 亚洲一区观看| 欧美三级在线播放| 亚洲精品一区在线观看| 亚洲啪啪91| 美女网站久久| 国产主播一区二区| 在线一区日本视频| 中文一区二区| 欧美性开放视频| 亚洲一区二区三区在线看| 亚洲视频在线观看| 欧美日韩精品一本二本三本| 亚洲激情av在线| 亚洲欧美日韩综合|