public class SynchronizedExample { private int count = 0; public synchronized void increment() { count++; } public synchronized int getCount() { return count; } } public class ReentrantLockExample { private int count = 0; private Lock lock = new ReentrantLock(); public void increment() { lock.lock(); try { count++; } finally { lock.unlock(); } } public int getCount() { lock.lock(); try { return count; } finally { lock.unlock(); } } } public class ReadWriteLockExample { private Map<String, String> data = new HashMap<>(); private ReadWriteLock lock = new ReentrantReadWriteLock(); public void write(String key, String value) { lock.writeLock().lock(); try { data.put(key, value); } finally { lock.writeLock().unlock(); } } public String read(String key) { lock.readLock().lock(); try { return data.get(key); } finally { lock.readLock().unlock(); } } }


上一篇:
下一篇:
切换中文