基础概念
-
进程与线程的区别
- 进程:操作系统资源分配的基本单位,有独立内存空间
- 线程:CPU调度的基本单位,共享进程资源
- 对比:
- 创建开销:进程 > 线程
- 通信方式:进程(IPC)、线程(共享内存)
- 安全性:进程更安全(隔离),线程需要同步
-
线程的生命周期与状态转换
- NEW → RUNNABLE → RUNNING → BLOCKED/WAITING/TIMED_WAITING → TERMINATED
- 关键方法:
- start():进入RUNNABLE
- yield():RUNNING → RUNNABLE
- sleep()/wait():进入TIMED_WAITING/WAITING
- notify()/notifyAll():WAITING → BLOCKED
线程创建与管理
-
创建线程的4种方式
// 1. 继承Thread类 class MyThread extends Thread { public void run() { /* 任务代码 */ } } // 2. 实现Runnable接口 class MyRunnable implements Runnable { public void run() { /* 任务代码 */ } } // 3. 实现Callable接口(可返回结果) class MyCallable implements Callable<String> { public String call() throws Exception { return "结果"; } } // 4. 使用线程池