概念
- 程序:指令集 (静态)
- 进程:操作系统调度程序,一个程序就是一个进程 (动态)
- 线程:在进程内的多条执行路径,在一个复杂程序内发现一条路径不能满足要求,另开辟多条路径来执行(线程其实就是一个进程里的多条路径,也叫做轻量级进程)
- 多进程:操作系统同时运行多个任务,如,eclipse、PPT
- main方法叫主进程
创建线程
一、继承Thread+重写run()
启动:创建子类对象+对象.start()
二、implements Runnable+run()
启动:使用静态代理
1. 创建真实角色
2. 创建代理角色Thread(引用)
3. 代理角色.start()
推荐使用接口:推荐使用Thread静态代理
- 避免单继承的局限性
- 方便共享资源
三、实现Callable接口
状态
- 死亡状态:未在给定时间片内完成程序则被挂起,进入就绪状态;完成则进入死亡状态。
- 死亡状态如何停止线程:
- 自然终止:线程体正常执行完毕。
- 外部干涉:
- 线程类中:定义线程体使用的标识
- 线程体使用该标识
- 提供对外方法改变该标识:set、stop等
- 外部根据条件调用该方法
- 阻塞