1. 程式人生 > 其它 >兩種建立執行緒的方式

兩種建立執行緒的方式

//建立執行緒方式一:繼承Thread類,重寫run()方法,呼叫start開啟執行緒

//總結:執行緒開啟不一定立即執行,由CPU排程執行
public class TestThread1 extends Thread {
@Override
public void run() {
//run方法執行緒體
for (int i = 0; i < 20; i++) {
System.out.println("我在學習!!!"+i);
}

}

public static void main(String[] args) {
//main執行緒,主執行緒

//建立一個執行緒物件
TestThread1 testThread1 = new TestThread1();

//呼叫start()方法開啟執行緒

//呼叫啟動用start進入可執行態,然後執行的時候呼叫run方法
//如果testThread1.run();則程式先執行run()方法,然後再執行main()方法
//如果testThread1.start();則程式同時執行run()方法和main()方法

testThread1.start();

for (int i = 0; i < 20; i++) {
System.out.println("我在看狂神說Java!!!"+i);
}
}
}
==========================================================================
//建立執行緒方式2:實現runnable介面,重寫run方法,執行執行緒需要丟入runnable介面實現類,呼叫start方法
public class TestThread3 implements Runnable {
@Override
public void run() {
//run方法執行緒體
for (int i = 0; i < 20; i++) {
System.out.println("我在學習!!!"+i);
}

}

public static void main(String[] args) {
//建立runnable介面的實現類物件
TestThread3 testThread3 = new TestThread3();

//建立執行緒物件,通過執行緒物件來開啟我們的執行緒,代理

// Thread thread = new Thread(testThread3);
// thread.start();
//上面兩行程式碼等同與下面一行程式碼
new Thread(testThread3).start();

for (int i = 0; i < 20; i++) {
System.out.println("我在看狂神說Java!!!"+i);
}
}
}


總結:①繼承Thread類,開始執行緒為testThread1.start();
   ②實現runnable介面,重寫run方法,開始執行緒為new Thread(testThread3).start();
   ③繼承Thread類為單繼承,不建議使用,平常多使用實現runnable介面方式