跳至主要內容
深入理解Synchronized

深入理解Synchronized

synchronized关键字是为了处理在Java编程中多线程环境下的数据一致性和安全性的重要问题。
synchronized关键字可以用于方法或代码块,以确保在同一时刻只有一个线程可以访问被保护的资源(临界资源)。


JVMLock原创
ReentrantReadWriteLock(读写锁)

ReentrantReadWriteLock(读写锁)

ReentrantReadWriteLock是一个读写锁,它内部维护了两个锁:ReadLockWriteLock。ReadLock用于只读操作,WriteLock用于写操作。 如果没有写操作,读锁是可以被多个线程同时持有的,即写锁是独占的,读锁是共享的。


线程安全Lock原创
StampedLock(读写锁)

StampedLock(读写锁)

StampedLock 是 Java 8 引入的一个新的读写锁,其设计目标是为了解决 ReentrantReadWriteLock 的一些性能问题,提供了乐观读锁的机制。


线程安全Lock原创
ReentrantLock(独占锁)

ReentrantLock(独占锁)

ReentrantLock 是Java中的一个工具类,位于 java.util.concurrent.locks 包下,是一种可重入的互斥锁,是 Lock
接口的一个实现。ReentrantLock
是由java提供的一种能够进行显示同步操作的锁,和synchronized不同的是,它是通过代码的方式来控制锁的获取和释放。


线程安全Lock原创