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

            kenlistian

            厚積薄發. 勤為槳,思為帆

               :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
              73 隨筆 :: 4 文章 :: 22 評論 :: 0 Trackbacks
            在windows下: 信號量(Semaphore)內核對象對線程的同步方式,它允許多個線程在同一時刻訪問同一資源,但是需要限制在同一時刻訪問此資源的最大線程數目。 CreateSemaphore() OpenSemaphore() ReleaseSemaphore(), WaitForSingleObject()/WaitForMultipleObjects() CreateSemaphore()創建信號量時即要同時指出允許的最大資源計數和當前可用資源計數。 一般是將當前可用資源計數設置為最大資源計數, 每增加一個線程對共享資源的訪問,當前可用資源計數就會減1, 只要當前可用資源計數是大于0的,就可以發出信號量信號。 但是當前可用計數減小到0時則說明當前占用資源的線程數已經達到了所允許的最大數目,不能在允許其他線程的進入,此時的信號量信號將無法發出。 線程在處理完共享資源后,應在離開的同時通過ReleaseSemaphore()函數將當前可用資源計數加1。在任何時候當前可用資源計數決不可能大于最大資源計數。 說明如下: HANDLE CreateSemaphore(  LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, // 安全屬性指針  LONG lInitialCount, // 初始計數  LONG lMaximumCount, // 最大計數, 定義了允許的最大資源計數  LPCTSTR lpName // 對象名指針, 創建的信號量定義一個名字,其創建的是一個內核對象,因此在其他進程中可以通過該名字而得到此信號量 ); OpenSemaphore()函數即可用來根據信號量名打開在其他進程中創建的信號量,函數原型如下: HANDLE OpenSemaphore(  DWORD dwDesiredAccess, // 訪問標志  BOOL bInheritHandle, // 繼承標志  LPCTSTR lpName // 信號量名 );  在線程離開對共享資源的處理時,通過ReleaseSemaphore()來增加當前可用資源計數。否則將會出現當前正在處理共享資源的實際線程數并沒有達到要限制的數值, 而其他線程卻因為當前可用資源計數為0而仍無法進入的情況。 BOOL ReleaseSemaphore(  HANDLE hSemaphore, // 信號量句柄  LONG lReleaseCount, // 計數遞增數量  LPLONG lpPreviousCount // 先前計數,可以設置為NULL, );   該函數將lReleaseCount中的值添加給信號量的當前資源計數,一般將lReleaseCount設置為1, WaitForSingleObject和WaitForMultipleObjects主要用在試圖進入共享資源的線程函數入口處, 主要用來判斷信號量的當前可用資源計數是否允許本線程的進入。 只有在當前可用資源計數值大于0時,被監視的信號量內核對象才會得到通知。
            posted on 2007-12-04 14:18 kenlistian 閱讀(4603) 評論(0)  編輯 收藏 引用 所屬分類: cpp
            热re99久久6国产精品免费| 久久99精品久久久久久秒播| 国产成人精品久久| 97热久久免费频精品99| 88久久精品无码一区二区毛片| 国产精品丝袜久久久久久不卡| 亚洲Av无码国产情品久久| 久久久久青草线蕉综合超碰| 人妻无码αv中文字幕久久 | 国产韩国精品一区二区三区久久 | 久久国产精品无码HDAV| 日韩欧美亚洲综合久久影院d3| 人人狠狠综合久久亚洲高清| A狠狠久久蜜臀婷色中文网| 中文成人无码精品久久久不卡| 久久九九有精品国产23百花影院| 99久久国产宗和精品1上映| 久久精品国产清自在天天线| 久久久一本精品99久久精品66| 中文字幕无码久久久| 久久久久久毛片免费看| 久久国产乱子伦精品免费强| 无码人妻精品一区二区三区久久久| 久久精品国产亚洲AV不卡| 69国产成人综合久久精品| 日本人妻丰满熟妇久久久久久| 久久国产亚洲精品| 7777精品伊人久久久大香线蕉| 欧美久久天天综合香蕉伊| 久久精品国产精品亜洲毛片| 99久久亚洲综合精品网站| 91精品国产高清91久久久久久 | 国产亚洲美女精品久久久| 996久久国产精品线观看| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 国产A级毛片久久久精品毛片| 99久久精品国内| 久久亚洲国产精品一区二区| 亚洲一区中文字幕久久| 亚洲精品高清久久| 热久久国产欧美一区二区精品|