多线程
进程
应用程序的执行实例,有自己独立的内存空间和系统资源,是由一个或多个线程组成,CPU 上真
正执行的是线程,
比喻;我们电脑上运行的QQ,QQ程序穷后在电脑上就是一个进程,
QQ可以有多个对话框,每一个对话框我们可以理解为一个线程,
注;线程是CPU调度和分配的基本单位
多线程
如果在一个进程中,容时运行多个线程,来完成不同的工作,我们称之为多线程;
注;多个线程是交替占用CPU 的并不是真正的同时执行。
多线程的好处
01,充分利用CPU的资源
32,给用户带来更好的体验
实现多线程的方法
01,继承Thread类,重写run()方法
02,实现runable接口重写run()方法
run()和start()的区别
start();真正的启动线程,并不是线程真正的执行,在调用start(),底层默认会执行
run();
run();普通的方法。也成为线程体,CPU分配时间片给当前线程的时候,线程才真正的执
行;
线程的生命周期
01,新生状态
MyThread thread = new MyThread();
02,就绪状态
thread.start ();
03,运行状态
cpu分配时间片给thread的时候,开始执行run()
04,阻塞状态
sleep();wait();join();
05,死亡状态
001,正常死亡 run ()执行完毕,正常的
002,异常死亡 run ()执行过程中,出现异常的情况,非正常死亡