當前位置:編程學習大全網 - 圖片素材 - vc中與臨界相關的函數

vc中與臨界相關的函數

妳說的是這個吧

臨界區(Critical Section)

保證在某壹時刻只有壹個線程能訪問數據的簡便辦法。在任意時刻只允許壹個線程對***享資源進行訪問。如果有多個線程試圖同時訪問臨界區,那麽 在有壹個線程進入後其他所有試圖訪問此臨界區的線程將被掛起,並壹直持續到進入臨界區的線程離開。臨界區在被釋放後,其他線程可以繼續搶占,並以此達到用原子方式操 作***享資源的目的。

臨界區包含兩個操作原語:

EnterCriticalSection() 進入臨界區

LeaveCriticalSection() 離開臨界區

EnterCriticalSection() 語句執行後代碼將進入臨界區以後無論發生什麽,必須確保與之匹配的 LeaveCriticalSection()都能夠被執行到。否則臨界區保護的***享資源將永遠不會被釋放。雖然臨界區同步速度很快,但卻只能用來同步本 進程內的線程,而不可用來同步多個進程中的線程。

MFC提供了很多功能完備的類,我用MFC實現了臨界區。MFC為臨界區提供有壹個 CCriticalSection類,使用該類進行線程同步處理是 非常簡單的。只需在線程函數中用CCriticalSection類成員函數Lock()和UnLock()標定出被保護代碼片段即可。Lock()後代 碼用到的資源自動被視為臨界區內的資源被保護。UnLock後別的線程才能訪問這些資源。

  • 上一篇:搞笑歌曲
  • 下一篇:微信遺囑有效嗎
  • copyright 2024編程學習大全網