java Runnable接口創(chuàng)建線程
java Runnable接口創(chuàng)建線程
創(chuàng)建一個線程,最簡單的方法是創(chuàng)建一個實現(xiàn)Runnable接口的類。
為了實現(xiàn)Runnable,一個類只需要執(zhí)行一個方法調用run(),聲明如下:
public void run()
你可以重寫該方法,重要的是理解的run()可以調用其他方法,使用其他類,并聲明變量,就像主線程一樣。
在創(chuàng)建一個實現(xiàn)Runnable接口的類之后,你可以在類中實例化一個線程對象。
Thread定義了幾個構造方法,下面的這個是我們經常使用的:
Thread(Runnable threadOb,String threadName);
這里,threadOb 是一個實現(xiàn)Runnable 接口的類的實例,并且 threadName指定新線程的名字。
新線程創(chuàng)建之后,你調用它的start()方法它才會運行。
void start();
實例
下面是一個創(chuàng)建線程并開始讓它執(zhí)行的實例:
// 創(chuàng)建一個新的線程
class NewThread implements Runnable {
Thread t;
NewThread() {
// 創(chuàng)建第二個新線程
t = new Thread(this, "Demo Thread");
System.out.println("Child thread: " + t);
t.start(); // 開始線程
}
// 第二個線程入口
public void run() {
try {
for(int i = 5; i > 0; i--) {
System.out.println("Child Thread: " + i);
// 暫停線程
Thread.sleep(50);
}
} catch (InterruptedException e) {
System.out.println("Child interrupted.");
}
System.out.println("Exiting child thread.");
}
}
public class ThreadDemo {
public static void main(String args[]) {
new NewThread(); // 創(chuàng)建一個新線程
try {
for(int i = 5; i > 0; i--) {
System.out.println("Main Thread: " + i);
Thread.sleep(100);
}
} catch (InterruptedException e) {
System.out.println("Main thread interrupted.");
}
System.out.println("Main thread exiting.");
}
}
編譯以上程序運行結果如下:
Child thread: Thread[Demo Thread,5,main] Main Thread: 5 Child Thread: 5 Child Thread: 4 Main Thread: 4 Child Thread: 3 Child Thread: 2 Main Thread: 3 Child Thread: 1 Exiting child thread. Main Thread: 2 Main Thread: 1 Main thread exiting.
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
SpringBoot 過濾器, 攔截器, 監(jiān)聽器的具體使用
本文主要介紹了SpringBoot 過濾器, 攔截器, 監(jiān)聽器的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05
Java之MyBatis的Dao方式以及Dao動態(tài)代理詳解
這篇文章主要介紹了Java之MyBatis的Dao方式以及Dao動態(tài)代理詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Java集合Map常見問題_動力節(jié)點Java學院整理
這篇文章主要為大家詳細整理了Java集合Map常見問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
SpringBoot跨系統(tǒng)單點登陸的實現(xiàn)方法
這篇文章主要介紹了SpringBoot跨系統(tǒng)單點登陸的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08

