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調度
四、線程執行結束 線程結束