课程试听
第一章 线程基础
1-1 线程概述
- 认识线程 免费试学
- 线程和进程的关系 免费试学
- 并发和并行的区别 免费试学
- 并发编程的应用场景和风险 免费试学
1-2 线程的启动和终止
- 线程的启动一:继承Thread类
- 线程的启动二:实现Runnable接口
- 线程的启动三:实现Callable接口
- 三种启动方式调用上的区别
- start调用run的底层原理
- 线程的终止:被弃用的stop方法
- 请求中断线程:interrupt方法
- 响应中断线程:isInterrupted方法
- 清除中断状态:interrupted方法
- 被中断异常:InterruptedException
1-3 线程的属性和常用API
- 线程的优先级
- 守护线程的特点和注意事项
- JVM中的守护线程
- 守护线程的注意事项
- 线程组的基本使用
- 线程组的异常处理
- yield方法的作用
- join方法的使用
- join方法的Java源码
- join方法的JVM源码
1-4 线程的状态
- 线程的六种状态
- 线程状态的代码演示
1-5 线程同步
- 多线程操作共享资源的安全问题
- 使用synchronized对象锁解决线程安全问题
- 线程的BLOCKED状态
- 对象锁和类锁
- Lock框架之ReentrantLock
- 可重入锁ReentrantLock的锁定原理
- 可重入锁ReentrantLock之公平锁
- 对象条件1
- 对象条件2
- 条件对象的注意事项
- 等待唤醒机制的基本概念
- 等待唤醒的标准格式
- 死锁出现的原因和解决办法
- 锁与条件对象的核心
- TheadLocal的基本概念
- ThreadLocal的工作原理
- ThreadLocal的注意事项
- 【总结】线程基础
- 【总结】线程同步
第二章 原子操作(资料在本章)
2-1 原子操作
- 原子操作的基本概念
- 原子操作的实现原理
- 演示非原子操作的效果及解决方案
- AtomicInteger的原子操作
- AtomicIntegerArray的原子操作
- AtomicReferenceArray的原子操作
- AtomicReference的原子操作
- 使用AtomicStampedReference演示ABA问题
- AtomicMarkableReference的原子操作
- 对象属性原子更新器AtomicReferenceFieldUpdater的问题
- 对象属性原子更新器AtomicReferenceFieldUpdater的使用要求
- volatile关键字的工作原理
- volatile关键字可以保证可见性
- volatile关键字不能保证原子性
- JDK8新特性LongAdder
- 【总结】原子操作
第三章 并发工具类
3-1 CountDownLatch
- 本章导学
- CountDownLatch的概念和工作原理
- CountDownLatch的基本使用
- CountDownLatch的注意事项
- CountDownLatch的底层原理
3-2 CyclicBarrier
- CyclicBarrier的基本概念和工作原理
- CyclicBarrier的基本使用-思路分析
- CyclicBarrier的基本使用-代码实现
- CyclicBarrier的底层实现原理-模拟分析
- CyclicBarrier的底层实现原理-源码分析
- CountDownLatch和CyclicBarrier的区别
3-3 Semaphore
- Semaphore的概念和工作流程
- Semaphore的基本使用
- Semaphore的实现原理和注意事项
3-4 Exchange
- Exchanger的概念和工作原理
- Exchanger的基本使用
- 【总结】并发工具类