1. 基本概念
- 程序: 某种语言编写的指令的集合,是一段静态的代码
- 进程:程序的一次执行,或者是正在运行的一个程序,进程是资源分配的单位
- 线程:线程是调度和执行的基本单位,一个进程可以包含多个线程
- 并行:多个CPU同时执行某个任务
- 并发:一个CPU采用时间片一段时间内执行多个任务
2.线程的创建和使用
- 继承Thread类
- 实现Runnable接口
- 注意事项:
3.1 自己如果手动调用run()方法,那么只是一个普通方法,没有启动多线程模式
3.2 要想启动多线程,必须使用start()方法,而且只能使用一次 - 使用Runnable的好处:
4.1 避免了单继承的局限性
4.2 多个线程可以共享一个接口实现类的对象,适合多个相同线程来处理同一份资源 - Thread类的有关方法:
5.1 void start(): 启动线程,执行run方法
5.2 run(): 线程被调度时执行的操作
5.3 String getName():返回线程的名称
5.4 void setName(String name): 设置线程的名称
5.5 static Thread currentThread():返回当前线程
3.线程的生命周期
- 新建 创建thread对象
- 就绪 调用start()方法
- 运行: 就绪的线程获得了CPU资源
- 阻塞: 被人为挂起或执行输入输出操作,进入阻塞状态
- 死亡: 线程完成了它的全部工作,或被强制终止,或出现异常结束