进程 VS 线程
线程是处理器任务调度和执行的基本单位,进程是操作系统资源分配的基本单位。
进程是程序的依次执行过程,是系统运行的基本单位。线程是比进程更小的执行单位,一个进程可以包含多个线程。
并发 VS 并行
并行:单位时间多个处理器同时处理多个任务
并发:一个处理器处理多个任务,按时间片轮流处理多个任务。
多线程的优缺点
线程的上下文切换
一次上下文切换就是从任务保存到再加载的过程。
死锁
用Java实现死锁,并给出避免死锁的解决方案。
输出为:
死锁、活锁、饥饿
线程的生命周期和状态
创建线程的方法
- 继承Thread类创建线程
- 实现Runnable 接口创建线程
- 使用Callable和Future 创建线程
- 使用线程池例如使用Executor框架