濡備綍鍦–oncurrentHashMap涓婂疄鐜拌嚜瀹氫箟鍚屾
鍦–oncurrentHashMap涓婂疄鐜拌嚜瀹氫箟鍚屾鍙互閫氳繃鍒涘缓涓€涓嚜瀹氫箟鐨勫悓姝ョ瓥鐣ユ潵瀹炵幇銆備竴绉嶅父瑙佺殑鏂规硶鏄娇鐢ㄨ嚜瀹氫箟鐨勯攣瀵硅薄鏉ュ疄鐜板悓姝ャ€備互涓嬫槸涓€涓畝鍗曠殑绀轰緥浠g爜锛?/p>
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class CustomSynchronizedMap<K, V> {
private ConcurrentHashMap<K, V> map = new ConcurrentHashMap<>();
private Lock lock = new ReentrantLock();
public void put(K key, V value) {
lock.lock();
try {
map.put(key, value);
} finally {
lock.unlock();
}
}
public V get(K key) {
lock.lock();
try {
return map.get(key);
} finally {
lock.unlock();
}
}
// 鍏朵粬闇€瑕佸悓姝ョ殑鏂规硶鍙互鍦ㄨ繖閲屾坊鍔?/span>
}
鍦ㄨ繖涓ず渚嬩腑锛屾垜浠垱寤轰簡涓€涓嚜瀹氫箟鐨勫悓姝ap绫?code>CustomSynchronizedMap锛屽唴閮ㄤ娇鐢ㄤ簡涓€涓狢oncurrentHashMap鍜屼竴涓猂eentrantLock瀵硅薄鏉ュ疄鐜板悓姝ャ€傞€氳繃鍦╬ut鍜実et鏂规硶涓娇鐢╨ock鏉ヤ繚璇佸map鐨勬搷浣滄槸绾跨▼瀹夊叏鐨勩€?/p>
褰撶劧锛岃繕鏈夊叾浠栫殑鍚屾绛栫暐鍙互鐢ㄦ潵瀹炵幇鑷畾涔夊悓姝ワ紝姣斿浣跨敤璇诲啓閿併€佷俊鍙烽噺绛夈€傚叿浣撻€夋嫨鍝鍚屾绛栫暐鍙栧喅浜庡叿浣撶殑闇€姹傚拰鍦烘櫙銆?/p>