CountDownLatch 线程闩的作用是作为一个或多个线程等待其他线程到达其完成位置的同步点。
在需要协调多个变量或对象变更之处用到锁。在Java中有两种方式可以获得锁,即原始的synchronized关键字和新的Lock接口。相比synchronized关键字,Lock接口可以让我们对锁操作进行更好的控制。
使用synchronized对整个实例对象进行同步是一种非常普遍的做法,但这种做法有很多问题。其中一个问题是,synchronized关键字的作用域是整个对象,于是整个程序的并发粒度就被限制在对象级别上,在任意时刻,一个对象最多只能接受一个同步操作。
ReentrantReadWriteLock 该类同时提供了两把锁,即读锁和写锁,读者和写者可以根据需要分别使用这两把锁。使用ReentrantReadWriteLock 之后,就可以让多个并发的读者或一个互斥的写者在同一个实例对象上进行操作。
网友评论