并发(四章后关键点)
并发2
线程进程和协程
进程
- 资源分配和调度的基本单位
- 进程间的通信
- 管道
- 命名管道
- 消息队列
- 共享内存
- 信号量
- 套接字
- 信号
线程
- 被系统调度的最基本单位
- 多个线程共享属于同一个进程的资源
- 线程间的通信
- 共享内存
- 消息传递
- 信号量
- 套接字
协程
- 一个线程内
- 调度有程序员控制
- 和方法不一样,执行过程中可以中断转向其他的协程,同样也可以再次跳回
- 执行效率比线程要高
- 不涉及到锁
⭐线程的状态
Java线程状态的变迁
有一个同步队列和一个等待队列
中断
要求理解java中和操作系统中的中断(作为扩展)
等待通知机制
- Thread.join()
- 原理就是等待通知
ThreadLocal
- 看一下源码
⭐开发一个简易的tomcat服务器
Api级别的锁
lock接口
AQS
- 原理
- ReentrantLock
- 公平锁的实现
- 非公平锁的实现
- 可重入锁
- 自己这个线程可以在不释放锁的前提下获得多次这个锁
- ReentrantReadWriteLock
- Semaphore
- CountDownLatch
- CyclicBarrier
Condition 接口
支持是多个等待队列和一个同步队列