1、程序:也就是通常我们所说的软件,如:QQ,迅雷,酷狗等等,它是指一组指示计算机或其他具有信息处理能力装置执行动作或做出判断的指令。
2、进程:就是正在运行的应用程序。进程是系统进行资源分配和调用的独立单位。
3、线程:进程的执行单元、执行路径。在同一个进程内可以执行多个任务,而这每一个任务就可以看作是一个线程。线程是程序使用CPU的最基本单位。
单线程程序:程序只有一条执行路径,代码按照调用顺序依次往下执行。
多线程:程序有多条执行路径,多段程序代码交替运行。
4、线程的两种创建方式:
a.继承Thread类;
b.实现Runnable接口;
事实上,Java源码推荐使用第二种方式来创建多线程,即实现Runnable接口,原因有:
- 避免由于Java的单继承带来的局限性;
- 适合多个相同程序代码的线程去处理同一个资源的情况,把线程同程序代码、数据有效的分离(如多窗口销售火车票)。
5、线程的生命周期:
a.新建状态(new);
b.就绪状态(Runnable);
c.运行状态(Running);
d.阻塞状态(Blocked);
e.死亡状态(Terminated);
6、多线程之抽奖机的实现:
功能实现: