Java 多執行緒 建立執行緒與啟動
阿新 • • 發佈:2020-10-14
Java建立執行緒的方法有兩種:
1.繼承Thread類,並重寫run()方法
2.實現Runnable介面,並實現run()方法。
不管是哪一種,都要用到run()方法,該方法時執行緒的執行主體。
啟動執行緒的方法:
呼叫執行緒類的start()方法啟動執行緒(不是呼叫run()方法)。執行緒的建立和啟動的示例程式碼如下:
1.繼承Thread
public class ThreadTest extends Thread{ @Override public void run() { ... } }
在main()函式中啟動執行緒
publicstatic 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()測試執行緒是否為守護執行緒。