實現臨界區互斥的方法有:單標志法、雙標志法先檢查、雙標志法后檢查、皮特森算法、硬件實現方法。
1、單標志法
設置一個公用變量turn,若turn=0,則允許P進程進入臨界區,若turn=1,則允許P進程進入臨界區。
2、雙標志法先檢查
在每個進程訪問臨界資源之前,先檢查臨界資源是否被訪問,若正在被訪問,則進程需要等待,否則進程進入自己的臨界區并設置標志。
3、雙標志法后檢查
先設置自己的標志,再檢測對方的標志,若對方的標志為true,則等待對方的進程,否則才進入臨界區。
4、皮特森算法
每個進程在設置自己的標志后再設置turn標志,然后檢測另一個進程的標志和turn標志。
5、硬件實現方法
通過硬件支持實現臨界區問題的方法稱為低級方法,或稱元方法。