线程的生命周期
创建状态(new 线程对象)>>>>>就绪状态(调用 线程的start方法)>>>>>运行状态(获得到时间片)>>>>>死亡状态>>>>>线程执行完成;
睡眠
sleep方法可以让线程从运行状态进入到>>>>>睡眠状态>>>>>就绪状态
线程的实现方式有几种
线程的方式有两种分别是继承Thread和实现Runnable接口
继承Thread的实现:
步骤:
1、定义类继承Thread
2、覆写Threa类的run方法。 自定义代码放在run方法中,让线程运行
3、调用线程的star方法,
该线程有两个作用:启动线程,调用run方法。
实现Runnable接口
步骤:
1、定义类实现Runnable接口
2、覆盖Runnable接口中的run方法,运行的代码放入run方法中。
3、通过Thread类建立线程对象。
4、将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
因为,自定义的run方法所属的对象是Runnable接口的子类对象。所以要让线程去指定指定对象的run方法。就必须明确该run方法所属对象
5、调用Thread类的start方法开启线程并调用Runnable接口子类的run方法
线程的集中方法
方法名 | 说明 |
run() | 执行现成的方法 |
start() | 开启一个线程 |
Thread.currentThread() | 获得当前现成的名字 |
Thread。sleep | 让线程进入休眠装袋 |
setPriority | 设置线程的优先级,优先级从一到十,默认值为五。优先级高的可能先被执行。设置优先级必须在线程之前设置 |
yield | 让获取到的是时间片的线程在放弃时间p片,大家重新竞争时间片 |