Java提供了两种线程建立的方法;html
1.Java中线程的建立 java
a、继承Thread类 ide
public class ExtendsThread extends Thread{ @Override public void run() { System.out.println(Thread.currentThread().getName()+" 继承Thread类"); } }
b、实现Runnable接口测试
public class ImplementsRunnable implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()+" 实现Runnable接口"); } }
测试代码 线程
public class TestThread { public static void main(String[] args) { Thread t = new ExtendsThread(); t.start(); Thread t1 = new Thread(new ImplementsRunnable()); t1.start(); } }
Thread-0 继承Thread类 Thread-1 实现Runnable接口
2.线程运行状态
code
a、线程建立 使用new 关键字htm
b、调用线程 start() 线程进入就绪状态 等待 CPU进行调度执行;start() 方法不是当即执行继承
c、CPU调度该线程 ,该线程进入运行状态,开始执行run()方法;接口
执行过程当中可能出现: CPU调度结束 执行其余线程,而后在调度该线程 ,运行状态-----就绪状态----运行状态事件
线程调用run()方法时,发生阻塞事件;如sleep()方法 线程进入 阻塞状态;当阻塞事件解除后,线程进入就绪状态等待CPU调度
四、线程执行结束 线程结束