JAVA併發編程(12)-讀寫鎖ReentrantReadWriteLock的實現分析

讀寫鎖 讀寫鎖分爲讀鎖和寫鎖兩個部分。讀的部分是共享的,可以多個線程同時使用。寫鎖時互斥的。同一時刻只有一個線程可以寫。並且寫的時候不允許讀。 我們知道AQS維護了一個 int類型的同步狀態變量state。那如何用一個變量來實現讀寫的複雜控制呢?使用按位分段保存。一個int類型變量有32位二進制組成。將這32位分爲高16位和低16位,高16位保存讀狀態,低16位保存寫狀態。如下圖 那如何快速獲取讀
相關文章
相關標籤/搜索