JUC并发

CopyOnWriteArrayList

ArrayList并发写入时线程不安全

CopyOnWriter写入时复制,COW,计算机程序设计领域的一种优化策略

读写分离

ReadWriteLock

读的时候可以被多线程读

写的时候只能一个线程去写

读-读:可以共存

读-写、写-写:不能共存

独占锁(写锁):一次只能被一个线程占有

共享锁(读锁):多个线程可以同时占有

BlockingQueue

阻塞队列

使用条件:多线程并发处理、线程池

SynchronousQueue

没有容量

进去一个元素,必须等待取出来之后,才能再往里面放一个元素

常用辅助类

CountDownLatch

线程计数器

里面的countDown方法可以让计数器减一

里面的await方法,可以等待计数器归零后唤醒,程序继续执行

CyclicBarrier

线程计数器

线程等待次数达到后才执行任务

Semaphore

线程流量器

限定数量的线程可以执行任务(工位有限)

必须等工位全空出来才能后面的线程去抢工位

acquire方法获得工位,如果工位已满会等待

release方法会将当前信号量释放(释放工位)

作用:多个共享资源互斥的时候,并发限流,控制最大的线程数

你可能感兴趣的:(JUC并发)