1. 程式人生 > 實用技巧 >建立執行緒

建立執行緒

建立執行緒

1.繼承Thread類

步驟:

1.建立一個Thread類的子類。

2.重寫Thread類中的run()方法。

3.建立Thread類子類的物件。

4.子類物件呼叫start()方法,開啟新的執行緒。

public class MyThread extends Thread{//1.建立一個Thread類的子類。
@Override
public void run() {//2.重寫Thread類中的run()方法
//獲取執行緒名稱
String name = getName();
System.out.println("^MyThreadname---"+name);
}
}

public class GetName {
public static void main(String[] args) {
MyThread myThread = new MyThread();//3.建立Thread類子類的物件。
myThread.start();//子類物件呼叫start()方法,開啟新的執行緒。


//沒有繼承Thread類,只能通過currentThread來獲取當前的主執行緒名稱
String name = currentThread().getName();
System.out.println("*main--" + name);
}
}

2.實現Runnable介面

步驟:

1.定義一個Runnable介面的實現類,並重寫run()方法。

2.建立Runnable介面實現類的物件。

3.將介面實現類物件作為target來建立Thread物件。

4.Thread物件呼叫start()方法。

public class MyRunableImpl implements Runnable{//1.定義一個Runnable介面的實現類,並重寫run()方法。
@Override
public void run() {
for (int i = 0; i <5 ; i++) {
System.out.println(Thread.currentThread().getName()+"--"+i);
}
}
}
public class Application {
public static void main(String[] args) {

//定義一個Runnable
MyRunableImpl myRunable = new MyRunableImpl();//2.建立Runnable介面實現類的物件。
Thread thread = new Thread(myRunable);//3.將介面實現類物件作為target來建立Thread物件。
thread.start();//4.Thread物件呼叫start()方法。

}
}
第二種方法的好處

1.避免繼承帶來的侷限性

2.增強程式的拓展性,降低程式的耦合性。將設定執行緒任務和開啟執行緒分離。