电脑中真正执行的是线程!但我们看到的都是进程!
进程:是由一个或N个线程组成的!
线程:CPU调度和分配的基本单位!
多线程:在同一个进程中,同时(感觉)运行多个线程,来完成不同的工作!
多线程的优点:01.充分利用CPU的资源
02.提升用户的体验
代码实现多线程的方式:
1.继承Thread类
2.实现Runnable接口
3.实现Callable接口
run()和start()的区别:
start()
01.是启动线程,是Thread类中的方法
02.不代表立即执行线程
03.底层会调用run()
run()
01.CPU分配时间片给线程是,线程真正执行
02.就是一个普通方法
03.run()写的内容 称之为 线程体
线程的生命周期:
01.新生状态 new
02.就绪状态 start();
03.运行状态 run();
04.阻塞状态
sleep();wait();yield();join();
05.死亡状态
001.正常死亡 run()执行完毕
002.异常死亡 run()执行过程中出现异常,终止运行
线程的调度
1.线程的优先级setPriority
2.join()
3.sleep()
4.yield()
5.线程的中止
并发:synchronized
Runnable和Callable的区别