1. 程式人生 > 實用技巧 >Java 多執行緒 建立執行緒與啟動

Java 多執行緒 建立執行緒與啟動

Java建立執行緒的方法有兩種:

1.繼承Thread類,並重寫run()方法

2.實現Runnable介面,並實現run()方法。

不管是哪一種,都要用到run()方法,該方法時執行緒的執行主體。

啟動執行緒的方法:

呼叫執行緒類的start()方法啟動執行緒(不是呼叫run()方法)。執行緒的建立和啟動的示例程式碼如下:

1.繼承Thread

public class ThreadTest extends Thread{
    @Override
    public void run() {
        ...
    }
}

在main()函式中啟動執行緒

    public
static void main(String[] args) { ThreadTest test = new ThreadTest(); test.start(); }

2.實現Runnable介面

public class RunnableTest implements Runnable{
    @Override
    public void run() {
        ...
    }
}

在main()函式中啟動執行緒

    public static void main(String[] args) {
        RunnableTest test 
= new RunnableTest(); Thread thread = new Thread(test); thread.start(); }

通常在main()函式建立和啟動一個新執行緒後,新執行緒和原來main函式執行緒併發執行。

在Java VM中,執行緒分為守護執行緒和非守護執行緒(也稱使用者執行緒)。

預設情況下,建立的執行緒皆為使用者執行緒。Java執行緒執行後返回情況有兩種:

1.在單執行緒情況下,即只有main函式的執行緒,程式程式碼執行完成後返回。

2.在多執行緒情況下,需要所有使用者執行緒執行完畢後才返回(main執行緒也屬於使用者執行緒)。

使用void setDaemon(boolean on)方法可以設定執行緒是否守護執行緒,需要線上程啟動之前設定;而通過boolean isDaemon()測試執行緒是否為守護執行緒。