• <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>
            posts - 34,comments - 2,trackbacks - 0
            線程需要在下面兩種情況下互相進行通信:
            • 當有多個線程訪問共享資源而不使資源被破壞時。
            • 當一個線程需要將某個任務已經完成的情況通知另外一個或多個線程時。
            解決辦法:
            1、原子訪問。
            原子訪問,是指線程在訪問資源時能夠確保所有其他線程都不在同一時間內訪問相同的資源。
            使用的是互鎖函數::互鎖函數族:Interlocked*函數群(*表示省略后面的字符,即以Interlocked開頭)。
            互鎖函數能夠執行下列操作:
            1) 打開C P U中的一個特殊的位標志,并注明被訪問的內存地址。
            2) 將內存的值讀入一個寄存器。
            3) 修改該寄存器。
            4) 如果C P U中的特殊位標志是關閉的,則轉入第二步。否則,特殊位標志仍然是打開的,寄存器的值重新存入內存。
            2、關鍵代碼段
            關鍵代碼段是指一個小代碼段,在代碼能夠執行前,它必須獨占對某些共享資源的訪問權。在線程退出關鍵代碼段之前,系統將不給想要訪問相同資源的其他任何線程進行調度。
            指定了一個C R I T I C A L S E C T I O N數據結構g c s,然后在對E n t e r C r i t i c a l S e c t i o n和L e a v e C r i t i c a lS e c t i o n函數調用中封裝了要接觸共享資源。




            注意:如果有多個不是一道使用的資源,比如線程1和線程2訪問一個資源,而線程1和線程3訪問另一個資源,那么應該為每個資源創建一個獨立的C R I T I C A L S E C T I O N結構。

            3、循環鎖
            指在線程1中如果要對變量進行操作,要先查看這個變量(或資源)有沒有被其它線程用到,如果是,則一直循環(循環次數自定),直到其它線程放棄對該變量(或資源)的控制,如果否,直接可以對該變量(或資源)進行操作。
            posted on 2011-10-07 23:58 Yu_ 閱讀(423) 評論(0)  編輯 收藏 引用 所屬分類: Windows程序設計
            久久久久国产精品麻豆AR影院| 欧美久久综合性欧美| 久久人人爽人人爽人人av东京热| 亚洲天堂久久久| 精品熟女少妇a∨免费久久| 久久亚洲私人国产精品vA| 久久精品免费一区二区三区| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久久久久亚洲精品不卡 | 一级做a爰片久久毛片免费陪| 国产精品久久久久免费a∨| 99久久精品国产麻豆| 午夜精品久久久久成人| 久久久精品午夜免费不卡| 国产精品一区二区久久精品涩爱| 免费国产99久久久香蕉| 久久久久国产精品人妻| 久久精品亚洲乱码伦伦中文| 久久久精品人妻一区二区三区蜜桃| 久久久久久久国产免费看| 91精品国产9l久久久久| 久久综合久久综合亚洲| 久久婷婷五月综合97色直播| 久久久久久久尹人综合网亚洲| 久久国产欧美日韩精品| 久久精品国产亚洲av瑜伽| 久久精品国产亚洲一区二区| 久久99精品久久久久久久久久 | 国产精品成人久久久| 精品国产综合区久久久久久| www.久久热| 国产精品久久久久影视不卡| 亚洲AV无码成人网站久久精品大| 久久人人青草97香蕉| 欧美午夜精品久久久久久浪潮| 精品多毛少妇人妻AV免费久久| 夜夜亚洲天天久久| 内射无码专区久久亚洲| 久久久久噜噜噜亚洲熟女综合 | 亚洲AV伊人久久青青草原| 久久影视国产亚洲|