ReadWriteLock读写锁

发布时间:2026/6/4 17:06:40

ReadWriteLock读写锁 ReadWriteLock所有的读写锁都遵守以下三条基本原则1.允许多个线程同时读共享变量2.只允许一个线程写共享变量3.如果一个写线程正在执行写操作此时禁止读线程读共享变量。快速实现一个缓存packagecom.zhss.data.refill.center.test;importjava.util.HashMap;importjava.util.Map;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantReadWriteLock;publicclassCacheK,V{privatefinalMapK,VmnewHashMap();privatefinalReentrantReadWriteLockrwlnewReentrantReadWriteLock();privatefinalLockrrwl.readLock();privatefinalLockwrwl.writeLock();publicVget(Kk){try{r.lock();System.out.println(Thread.currentThread().getName()读取key:k);returnm.get(k);}finally{r.unlock();}}publicVput(Kkey,Vval){w.lock();try{System.out.println(Thread.currentThread().getName()写入key:key,值:val);returnm.put(key,val);}finally{w.unlock();}}}备注读锁 → 写锁 锁升级 死锁写锁 → 读锁 锁降级 允许

相关新闻