线程有哪四种状态 (新生状态),(可运行状态),(阻塞状态),(死亡状态)
新生状态:我们的线程被创建出来,并没有调用start方法启动。.
可运行状态:调用start方法后,会分配所有非cpu的资源,使该线程进入可运行状态,但没有开始运行。只有分配cpu资源的时候,才会真正运行。
阻塞状态:一个线程因为某种原因从可运行状态中变成不能运行的状态。表示该线程进入了阻塞状态,在特定的条件下才能继续运行,如果线程一直被阻塞:表示这个线程遇到了死锁。
死亡状态:一个线程他的任务执行完毕,自然死亡。
- 新生状态:(记忆)
1.拥有一个线程: - 继承Thread类
- 实现runnable接口(推荐)
2.重写run方法,给这个线程添加任务。 - 实例化对象。
4.调用start启动线程
线程方法:
设置线程名称:thread.setName(“HHH”);
获取线程名称:Thread.currentThread().getName()
设置线程优先级(vip):thread.setPriority(10);
获取线程优先级:Thread.currentThread().getPriority()
线程调度:
1.join():使当前线程暂停执行,等待我(调用join线程)执行完毕之后,再继续执行该线程。(插队)
2.sleep(要休眠的时间):使当前线程暂停执行 xx毫秒值。
1000毫秒==1秒 60000=1分 3600000=1小时
3.yield():可让当前线程暂停执行,允许其他线程继续执行,但该线程仍处于可运行状态。(礼让)
4.isaLive:测试线程是否处于活动状态(是否为死亡状态)