自旋鎖的原理網上一大堆,我就不粘貼了,這里只記錄下我對自旋鎖的學習筆記,方便以后更快的拾起來,如果也能幫到其他同學就更好了,如果有哪里理解的不對,也希望大家能告訴我,大家一起進步;
自旋鎖使用前提:
1,一個線程對一個原子變量進行進行讀取和嘗試寫操作,如果讀取后發現未達到寫的條件,則進行while循環,進行下一輪讀取嘗試寫操作;
2,自旋鎖的前提是各線程都使用CAS在操作前嘗試讀寫,條件不達標時不野蠻的改寫,如果其他線程不遵循CAS操作進行野蠻讀寫則自旋鎖將變為無意義的鎖,不能對資源起到保護作用;