- 博客(3)
- 收藏
- 关注
原创 CountDownLatch -- CyclicBarrier -- Semaphore
CyclicBarrier 时一定要注意线程的数量要多于 CyclicBarrier 实例中设置的阻塞线程的数量就会发生死锁。调用 await() 方法的次数一定要等于屏障中设置的阻塞线程的数量,否则也会死锁。支持在使用的时候传入一个屏障完成之后的action动作。
2023-04-03 21:59:29 159 1
原创 ReentrantLock & ReentrantReadWriteLock -- 源码解析
synchronized 可用来修饰普通方法、静态方法和代码块,而 ReentrantLock 只能用在代码块上。释放方式不同synchronized可以自己释放锁, ReentrantLock需要手动synchronized作用在JVM上, ReentrantLock是基于java代码实现的synchronized只支持非公平锁, ReentrantLock支持公平锁 & 非公平锁。
2023-03-29 21:02:17 42
原创 AbstractQueuedSynchronizer
AQS ( Abstract Queued Synchronizer )是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )和一个先进先出( FIFO )的线程等待队列来实现一个多线程访问共享资源的同步框架。
2023-03-28 22:27:29 49 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人