• <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>

            我的玻璃盒子

            (轉(zhuǎn)帖)Windows同步API (二)—— Semaphore

            原文鏈接:http://www.shnenglu.com/wangjt/archive/2008/02/01/42362.html

            Semaphore是旗語(yǔ)的意思,在Windows中,Semaphore對(duì)象用來(lái)控制對(duì)資源的并發(fā)訪問(wèn)數(shù)。Semaphore對(duì)象具有一個(gè)計(jì)數(shù)值,當(dāng)值大于0時(shí),Semaphore被置信號(hào),當(dāng)計(jì)數(shù)值等于0時(shí),Semaphore被清除信號(hào)。每次針對(duì)Semaphore的wait functions返回時(shí),計(jì)數(shù)值被減1,調(diào)用ReleaseSemaphore可以將計(jì)數(shù)值增加 lReleaseCount 參數(shù)值指定的值。

            CreateSemaphore函數(shù)用于創(chuàng)建一個(gè)Semaphore

            HANDLE CreateSemaphore(
            LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
            LONG lInitialCount,
            LONG lMaximumCount,
            LPCTSTR lpName
            );

            lpSemaphoreAttributes為安全屬性,
            lInitialCount為Semaphore的初始值,
            lMaximumCount為最大值,
            lpName為Semaphore對(duì)象的名字,NULL表示創(chuàng)建匿名Semaphore

            此外還可以調(diào)用OpenSemaphore來(lái)打開(kāi)已經(jīng)創(chuàng)建的非匿名Semaphore

            HANDLE OpenSemaphore(
            DWORD dwDesiredAccess,
            BOOL bInheritHandle,
            LPCTSTR lpName
            );

            調(diào)用ReleaseSemaphore增加Semaphore計(jì)算值

            BOOL ReleaseSemaphore(
            HANDLE hSemaphore,
            LONG lReleaseCount,
            LPLONG lpPreviousCount
            );

            lpReleaseCount參數(shù)表示要增加的數(shù)值,
            lpPreviousCount參數(shù)用于返回之前的計(jì)算值,如果不需要可以設(shè)置為NULL

            比如我們要控制到服務(wù)器的連接數(shù)不超過(guò)10個(gè),可以創(chuàng)建一個(gè)Semaphore,初值為10,每當(dāng)要連接到服務(wù)器時(shí),使用WaitForSingleObject請(qǐng)求Semaphore,當(dāng)成功返回后再嘗試連接到服務(wù)器,當(dāng)連接失敗或連接使用完后釋放時(shí),調(diào)用ReleaseSemaphore增加Semaphore計(jì)數(shù)值。

            posted on 2008-02-03 10:45 深藍(lán)色系統(tǒng) 閱讀(726) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Windows開(kāi)發(fā)

            導(dǎo)航

            <2008年2月>
            272829303112
            3456789
            10111213141516
            17181920212223
            2425262728291
            2345678

            統(tǒng)計(jì)

            常用鏈接

            留言簿(75)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            中文字幕一区二区三区久久网站| 久久国产乱子伦精品免费强| 久久国产美女免费观看精品| 精品久久综合1区2区3区激情| 久久精品无码一区二区日韩AV| 亚洲国产精品嫩草影院久久| 久久人妻少妇嫩草AV蜜桃| 青草国产精品久久久久久| 久久99热狠狠色精品一区| 国产精品热久久无码av| 天天躁日日躁狠狠久久| 26uuu久久五月天| 一本色道久久综合亚洲精品| 国产69精品久久久久9999| 伊人色综合久久天天人守人婷| 久久久亚洲欧洲日产国码aⅴ| 久久精品国产精品亚洲下载| 久久婷婷五月综合色高清| 久久久噜噜噜久久| 久久综合狠狠综合久久| 久久一区二区三区免费| 精品乱码久久久久久久| 久久久久亚洲AV无码观看| 久久综合九色综合欧美就去吻| 精品九九久久国内精品| 少妇久久久久久久久久| 久久国产欧美日韩精品免费| 国产成人精品久久一区二区三区av| 久久久www免费人成精品| 色综合久久中文字幕综合网| 97久久精品国产精品青草| 亚洲AV无一区二区三区久久 | 亚洲精品第一综合99久久| 久久精品国产清高在天天线| 久久久久99这里有精品10| 四虎久久影院| 久久这里只精品99re66| 伊人久久成人成综合网222| 一本久道久久综合狠狠躁AV| 欧美日韩成人精品久久久免费看 | 色婷婷综合久久久久中文字幕|