AQS 对资源的共享模式有哪些?
-
Exclusive(独占):只有一个线程能执行,如:ReentrantLock,又可分为公平锁和非公平锁:
-
Share(共享):多个线程可同时执行,如:CountDownLatch、Semaphore、CountDownLatch、 CyclicBarrier、ReadWriteLock。
Exclusive(独占):只有一个线程能执行,如:ReentrantLock,又可分为公平锁和非公平锁:
Share(共享):多个线程可同时执行,如:CountDownLatch、Semaphore、CountDownLatch、 CyclicBarrier、ReadWriteLock。
评论(2)
独占锁,每次只能有一个线程持有锁,比如ReentrantLock就是以独占方式实现的互斥锁。
共享锁,允许多个线程同时获取锁,并发访问共享资源,比如ReentrantReadWriteLock。
CyclicBarrier 是使用ReentrantLock的Condition实现的