<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            操作系統

            windows操作系統的同步機制與性能

            時間:2025-04-16 03:42:20 操作系統 我要投稿
            • 相關推薦

            windows操作系統的同步機制與性能

              windows操作系統的同步機制與性能

              最近看了下windows核心編程,雖然是比較老的書,但是感覺還是蠻有用的,順便復習了一些操作系統的知識,比如本文的進程同步機制

              用戶模式下的'線程同步

              線程之間需要通信:

              1.需要讓多個線程同時訪問一個共享資源,同時不能破壞資源的完整性

              2.一個線程需要通知其他線程某項任務已經完成

              方法一:原子訪問:Interlocked系列函數

              InterlockedExchangeAdd(long & ,int );

              InterlockedIncrement;

              InterlockedExchange;(實現旋轉鎖是有用)

              必須保證傳給這些函數的變量地址是對齊的,否則函數可能失敗

              interlockde函數不需要在內核模式與用戶模式之間切換

              旋轉鎖:禁用線程優先級提升

              多處理器的機器旋轉鎖比較有用,

              關鍵段:先循環一定次數,如果還是無法訪問,線程切換至內核模式,直到資源可用

              interlockedcompareexchange

              方法二:關鍵段

              CRITICAL_SECTION g_cs;

              EnterCriticalSection(&g_cs)

              …

              LeaveCrititalSection(&g_cs)

              關鍵段無法在多個進程之間對線程同步

              方法三:Slim讀/寫鎖

              和關鍵段相似,但是區分讀取線程和寫入線程

              SRWLOCK

              用內核對象進行線程同步

              在進程內核對象內部有一個布爾變量,當系統創建內核對象的時候會把這個變量的值初始化為false(未觸發),當進程終止時,操作系統會把相應的內核對象中的值設置為true,表示已經觸發。

              等待函數:WaitForSingleObject(HANDLE,DWORD)

              WaitForMultipleObjects(DWORD,CONST HANDLE* ,BOOL,DWORD)

              事件內核對象

              讓一個線程執行初始化工作,然后出發另一個線程,讓它執行余下的工作

              createEvent()

              OpenEvent()

              SetEvent()//觸發時

              ResetEvetn()

              可等待的計數器內核對象

              createWaitableTimer()

              OpenwaitableTimer()

              SetWaitableTimer()//觸發時

              信號量

              互斥量

            【windows操作系統的同步機制與性能】相關文章:

            Windows XP操作系統內存性能優化10-08

            什么是windows操作系統11-02

            Windows操作系統的特點07-11

            什么是windows操作系統01-23

            Windows操作系統優化技巧09-02

            Windows操作系統使用技巧09-22

            Windows 7操作系統技巧09-20

            Windows操作系統的維護常識07-05

            WINDOWS操作系統的進程描述10-13

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看