linux中的內核鎖有:1.互斥鎖,在原子操作API的基礎上實現的信號量行為;2.自旋鎖,為SMP系統設計;
linux中的內核鎖有以下兩種
1.互斥鎖
linux中互斥鎖是在原子操作API的基礎上實現的信號量行為,其訪問的規則是同一時間只能有一個任務持有互斥鎖,且只有這個任務可以對互斥鎖進行解鎖,常用于防止兩個線程在同一時刻訪問相同的共享資源,互斥鎖不能進行遞歸鎖定或解鎖。
2.自旋鎖
自旋鎖是為SMP系統設計的,可以在多處理器情況下保護臨界區,且自旋鎖保護的臨界區代碼執行時不能進入睡眠狀態;被自旋鎖保護的臨界區代碼執行時,內核不能被搶占。