锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1.鍏鉤鎬у拰闈炲叕騫蟲ц幏鍙栭攣錛?/p>
鏀寔鎸夌収鍏鉤鐨勫師鍒欒幏鍙栭攣錛屽嵆璇誨啓綰跨▼鎸夌収鏈闀跨瓑寰呮椂闂村垎閰嶉攣
鑻ユ瀯閫犱負闈炲叕騫蟲х殑錛屽垯鎸夌収鍏堝埌鍏堝緱鐨勯『搴忥紝浣嗘槸鏈夎綰跨▼鎯寵幏鍙栭攣鏃訛紝璇ラ『搴忚鎵撶牬
2.閲嶅鑾峰緱閿侊細璇葷嚎紼嬪彲浠ラ噸澶嶇殑鑾峰彇閿侊紝灝界褰撳墠璇葷嚎紼嬪崰鐢?/p>
3.閿侀檷綰э細
鍙互灝唚rite lock 鐨勭瓑綰ч檷涓?read lock ,欏哄簭鏄細鍏堣幏寰梂riteLock鍐嶈幏寰桼eadLock錛岀劧鍚庨噴鏀網riteLock錛岃繖鏃跺欑嚎紼嬪皢淇濇寔Readlock鐨勬寔 鏈夈?/p>
鍙嶈繃鏉eadLock鎯寵鍗囩駭涓篧riteLock鍒欎笉鍙兘
4.涓柇閿佺殑鑾峰彇錛氳閿佸拰鍐欓攣鐨勮幏鍙栨湡闂撮兘鍏佽琚腑鏂?/p>
5.Condition 綾葷殑鏀寔錛氳鏀寔浠呬粎灝卞啓鎿嶄綔鑰岃█錛岃嫢readLock(0.newCondition() 灝嗕細throws UnsupprotedoperationException
6.鍙洃嫻嬫э細榪欎釜綾繪敮鎸佹搷浣滄槸鍚﹀閿佺殑鑾峰彇榪樻槸绔炰簤錛屽彧鏄負媯嫻嬬郴緇熺姸鎬侊紝鑰屼笉鏄負浜嗗悓姝ヨ岃璁$殑銆?/p>
鏄懼紡閿侊紙Lock錛夊拰闅愬紡閿?Synchronized)鐨勪笉鍚岀偣錛屾嫭鍙鋒敞鏄庨殣寮忛攣涓庨噸澶嶈鍐欓攣錛圧eentrantReadWriteLock錛夌殑鍖哄埆
1.涓嶈兘涓誨姩涓柇姝e湪璇曞浘鑾峰緱閿佺殑綰跨▼ 錛堟樉寮忓啓鎿嶄綔閿佸彲浠ヤ富鍔ㄧ殑鎸傝搗璇繪搷浣滈攣錛岃繘琛屽啓鎿嶄綔錛?/p>
2.璇曞浘鑾峰緱閿佹椂涓嶈兘璁劇疆瓚呮椂
3.鍦ㄥ璞″唴閮ㄩ攣鍙湁涓涓茍涓斿唴閮ㄩ攣鍙湁涓涓崟涓鐨勬潯浠訛紝鍙兘涓嶅鐢?鏄劇ず閿佸彲浠ユ湁澶氫釜錛屼笉鏂噸澶嶇殑瀵硅鍐欐搷浣滃姞閿?
瀵筊eentrantReadWriteLock綾繪祴璇?/strong>
1.璇?鍐欐搷浣滅殑閿佸綰跨▼嫻嬭瘯 : 鍗曠嫭鐨勮鎿嶄綔鍜屽啓鎿嶄綔浣曚互瀹屾垚璇繪垨鍐欑殑鍚屾
2.璇繪搷浣滄墍鍜屽啓鎿嶄綔閿佸綰跨▼嫻嬭瘯 : 鑳藉悓姝?(蹇呴渶鎿嶄綔綾諱腑灝?ReentrantReadWriteLock澹版槑涓簊tatic鐨勬垚鍛樺彉閲?
3.璇繪搷浣滆繘紼嬪拰鍐欐搷浣滆繘紼嬮棿嫻嬭瘯錛氫笉鏀寔榪涚▼闂寸殑鍚屾