显示锁
Lock(接口)
ReentrantLock(可重入锁)
ReentrantReadWriteLock.ReadLock
ReentrantReadWriteLock.WriteLock
Condition(便于协调线程之间的同步关系,粒度更细)
ReadWriteLock
ReentrantReadWriteLock(读写锁,读共享,写互斥)
LockSupport()
线程协调
CountDownLatch:阻塞直到所有线程执行结束,【做减法直到0】【一等多】
CyclicBarrier:多线线程互相等待,【做加法直到目标值】【互相等】
Semaphore:信号量,做限流,【强位置】
Executors:【创建线程池】
Exchangers:两个线程之间交换数据【两个线程做数据同步】
java有哪些线程池?
1.newCachedThreadPool创建一个可缓存线程池程
2.newFixedThreadPool 创建一个定长线程池
3.newScheduledThreadPool 创建一个周期性执行任务的线程池
4.newSingleThreadExecutor 创建一个单线程化的线程池