mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
Update AQS.md
This commit is contained in:
parent
a88a412075
commit
cddee61f3f
@ -680,6 +680,8 @@ threadnum:7is finish
|
|||||||
|
|
||||||
#### 5.4 CyclicBarrier 和 CountDownLatch 的区别
|
#### 5.4 CyclicBarrier 和 CountDownLatch 的区别
|
||||||
|
|
||||||
|
**下面这个是国外一个大佬的回答:**
|
||||||
|
|
||||||
CountDownLatch 是计数器,只能使用一次,而 CyclicBarrier 的计数器提供 reset 功能,可以多次使用。但是我不那么认为它们之间的区别仅仅就是这么简单的一点。我们来从 jdk 作者设计的目的来看,javadoc 是这么描述它们的:
|
CountDownLatch 是计数器,只能使用一次,而 CyclicBarrier 的计数器提供 reset 功能,可以多次使用。但是我不那么认为它们之间的区别仅仅就是这么简单的一点。我们来从 jdk 作者设计的目的来看,javadoc 是这么描述它们的:
|
||||||
|
|
||||||
> CountDownLatch: A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes.(CountDownLatch: 一个或者多个线程,等待其他多个线程完成某件事情之后才能执行;)
|
> CountDownLatch: A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes.(CountDownLatch: 一个或者多个线程,等待其他多个线程完成某件事情之后才能执行;)
|
||||||
@ -689,8 +691,6 @@ CountDownLatch 是计数器,只能使用一次,而 CyclicBarrier 的计数
|
|||||||
|
|
||||||
CountDownLatch 是计数器,线程完成一个记录一个,只不过计数不是递增而是递减,而 CyclicBarrier 更像是一个阀门,需要所有线程都到达,阀门才能打开,然后继续执行。
|
CountDownLatch 是计数器,线程完成一个记录一个,只不过计数不是递增而是递减,而 CyclicBarrier 更像是一个阀门,需要所有线程都到达,阀门才能打开,然后继续执行。
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### 6 ReentrantLock 和 ReentrantReadWriteLock
|
### 6 ReentrantLock 和 ReentrantReadWriteLock
|
||||||
|
|
||||||
ReentrantLock 和 synchronized 的区别在上面已经讲过了这里就不多做讲解。另外,需要注意的是:读写锁 ReentrantReadWriteLock 可以保证多个线程可以同时读,所以在读操作远大于写操作的时候,读写锁就非常有用了。
|
ReentrantLock 和 synchronized 的区别在上面已经讲过了这里就不多做讲解。另外,需要注意的是:读写锁 ReentrantReadWriteLock 可以保证多个线程可以同时读,所以在读操作远大于写操作的时候,读写锁就非常有用了。
|
||||||
|
Loading…
x
Reference in New Issue
Block a user