并发学习路线
来源:互联网 发布:淘宝卖家电话人工服务 编辑:程序博客网 时间:2024/06/06 16:26
volatile、synchronized关键字(阻塞的方式)->ReentrantLock 、 ReentrantReadWriteLock(CAS实现锁,AQS的思想实现)->线程安全的集合( 非阻塞的集合类、阻塞的队列)->线程池的使用。
ReentrantLock 、 ReentrantReadWriteLock: 通过与condition一起使用,增加多线程之间的交互性。(AQS实现思想)
并发阻塞队列:有界阻塞队列ArrayBlockingQueue、无界阻塞延迟队列DelayQueue、无界阻塞LinkedBlockingQueue、无界阻塞优先级队列PriorityBlockingQueue。
并发非阻塞队列: 无界非阻塞concurrentLinkedQueue、SynchronousQueue、Exchanger 和 ConcurrentSkipListMap。
线程池: ThreadPoolExecutor类(coreSize,maxSize,time,timeUnit,blockingQueue)、ExecutorService接口(通过Executors.singleExecutor、newCacheExecutor、newFixedExecutor)。(delete)
基本数据类型和关键字:关键字:volatile、synchronized。封装的线程安全的原子类型:AtomicInteger、AtomicReference、AtomicFieldReference。
锁:排它锁:AbstractOwnableSynchronizer、AbstractQueuedLongSynchronizer、AbstractQueuedSynchronizer。可重入锁、读写锁:ReentrantLock、ReentrantWriteReadLock、LockSupport、WriteLock(写锁支持单一用户写,单用户读数据)、ReadLock(读锁支持多用户同时读,不能同时读)。
集合:基本集合对用的线程安全的集合:非阻塞线程安全的集合(CAS):concurrentHashMap、concurrentLinkedQueue、concurrentLinkedDeque。concurrentSkipListMap。阻塞的线程安全的集合(锁实现的):DelayQueue(无界延迟阻塞队列)、ArrayBlockingQueue(有界阻塞队列)、LinkedBlockingQueue(无界阻塞队列)、PriorityBlockingQueue(优先无界阻塞队列),实现线程安全的集合类。
同步器:countDownLatch(计数器)、cyclicBarrier(栏姗)、semaphore(信号量)、Exchange(交换数据,一般使用场景是通过buffer、清空buffer中的数据)、FutureTask(异步工作),执行线程同步的工作。
线程管理:Callable(被执行的任务)、Executor(执行的任务)、Future(异步提交的返回数据)、ExecutorService、ThreadPoolService、ScheduledExecutorService是ExecutorService的扩展接口,主要扩展了可以用任务调度的形式(延迟或定期)执行Runnable或Callable任务、Executors是工具类用于创建线程管理的实例。
- 并发学习路线
- 实战Java高并发程序设计学习路线
- 分布式,java,高并发系统设计,大神学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- ;学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- 学习路线
- 辗转相除法
- react-redux的简单使用
- Unit7
- Spring MVC @Validated的使用
- 十一月二号课堂笔记
- 并发学习路线
- android java8的使用配置
- Lock与synchronized 的区别
- Java笔记第十一课(String类&StringBuffer类)
- bzoj 3039: 玉蟾宫(悬线法)
- Shiro+Spring整合(超详细,有demo)
- mybatis(2)---入门示例
- 《汇编语言》(王爽)检测点1.1
- Java 简单多线程选号