互斥對象(互斥對象)是為在計算機程序中使用而創建的對象。互斥對象的基本功能是使多個程序線程能夠使用單個資源。通常,互斥對象的功能是通過創建一個環境來允許對單一資源的這種使用,在這種環境中,對資源的訪問在程序的各...
互斥對象(互斥對象)是為在計算機程序中使用而創建的對象。互斥對象的基本功能是使多個程序線程能夠使用單個資源。通常,互斥對象的功能是通過創建一個環境來允許對單一資源的這種使用,在這種環境中,對資源的訪問在程序的各個方面之間不斷地來回傳遞基本上,程序將創建互斥體,并將其與一個特定的資源相關聯,該資源是開放程序有效運行所需的。當資源被調用時,操作系統將為互斥體分配一個唯一的名稱,并在程序保持打開狀態時使用它來標識進程。一旦互斥體為會話激活并命名,則需要此資源的程序的任何其他線程都可以訪問,即使該資源已被另一個線程使用。通過指示對該資源的需要,互斥函數將開始在線程之間來回交替訪問該資源。對于最終用戶,這個過程是透明的。對于所有實際的意圖和目的來說,似乎兩個用戶或兩個線程正在使我們同時使用同一個資源。雖然訪問傳輸的速度非常快,甚至對最終用戶來說都不明顯,但應該注意的是,無論何時使用一個資源,它都會被有效地鎖定到序列中的一個線程。另一個需要使用該資源的線程將發出一個請求,該請求將進入隊列并保持在隊列中,直到第一個線程完成活動使用。此時,資源被解鎖,互斥函數允許隊列中的下一個線程活動訪問如果第三個線程處于活動狀態并且需要資源,MUTEX也會將該線程放入隊列中,并輪流授予訪問權限
-
發表于 2020-08-06 05:35
- 閱讀 ( 1635 )
- 分類:電腦網絡