Java的多线程是基于线程调度、线程同步、线程生命周期这几个核心机制实现的,以下是核心的内容:
1. 线程的实现方式:
- 继承 Thread 类,重写 run() 方法
- 实现 Runnable 接口,实现 run() 方法,再传入 Thread 类中执行
- 实现 Callable 接口,结合 FutureTask 获取线程执行的返回值
2. 线程的核心机制
- 线程调度:Java的线程调度是抢占式的,由JVM和操作系统共同决定线程的执行顺序,优先级高的线程有更大概率获得CPU时间片
- 线程同步:用于解决多线程共享资源的线程安全问题,常用方式有 synchronized 关键字、 Lock 接口的实现类、 volatile 关键字
- 线程生命周期:包含新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、等待(Waiting)、超时等待(Timed Waiting)、终止(Terminated)七个状态