一,进程和线程
进程:电脑中的应用程序 有独立的系统资源和内存空间
线程:进程中每一个独立的任务 竞争关系
二,多线程的好处
1.充分利用CPU资源
2.简化代码模型
3.提高用户体验
三,多线程的创建步骤
定义线程(继承Thread/实现Runnable接口)
①继承Thread
②实现Runnable接口
创建线程的对象
启动线程
终止线程(线程执行完自己的任务后会自动消亡)
ps:调run和调start的区别
a.run:当前程序中只有main一条线程,所有事情需要main来完成
b.start:开启一个全新的线程,主线程负责main方法中的代码,开
启的线程负责run方法中的代码,各司其职
四,Thread和Runnable两种定义方式的区别
1.Thread:数据资源各论各的,单继承,创建线程简单
2.Runnable:数据资源共享,避免单继承的局限性
五,线程的五个状态
1.创建状态:ThreadA ta=new ThreadA();
2.就绪状态:线程启动以后,没有抢占到CPU资源
3.运行状态:线程抢到资源开始完成自己的任务
如图所示 我们有main(主线程)和创建的线程tc 正常运行状态是main和tc随机抢占资源 谁先抢到资源就先执行 我们也可以像图中这样 用join方法强行插队
4.阻塞状态:程序员调用某个方法将线程转入休眠状态,冻结不会和其他线程抢占资源
5.死亡状态:调用方法+自然死亡
六,线程优先级
1.取值范围:1-10 10最大
2.含义:表示线程抢到CPU资源的概率 不绝对