臨界段

臨界段

目錄

正文


臨界段
當必須以原子操作方式來修改單個值時,互鎖函數家族式相當有用的,但是大多數實際工作中的變成問題要解決的是比單個32位或64位值複雜得多的數據結構,為了以原子操作方式使用更加複雜的數據結構,必須使用Windows提供的其它的某些特性,臨界段就是其中之一。
臨界段也稱作關鍵代碼段,它是指一個個小代碼段,在它能夠執行前,它必須獨佔對某些共享資源的訪問權。一旦線程執行進入了臨界段,就意味著它獲得了這些共享資源的訪問權,那麼在該線程處於臨界段內的期間,其它同樣需要獨佔這些共享資源的線程就必須等待,直到獲得資源的線程離開臨界段而釋放資源。這是讓若干行代碼能夠以原子操作方式來使用資源的一種方式,當然,系統仍然能夠抑制進入臨界段的線程的運行,而搶先安排其它不需要獨佔這樣共享資源的線程運行。