Java啟動線程是指在Java程序中創建并啟動一個新的線程。在Java中,可以通過兩種方式來啟動線程:繼承Thread類和實現Runnable接口。
1. 繼承Thread類:
需要創建一個繼承自Thread類的子類,并重寫其run()方法。在run()方法中定義線程要執行的任務。然后,可以創建該子類的對象,并調用其start()方法來啟動線程。
示例代碼如下:
`java
public class MyThread extends Thread {
@Override
public void run() {
// 線程要執行的任務
System.out.println("線程正在執行");
}
}
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start(); // 啟動線程
}
}
`
通過繼承Thread類創建線程的優點是可以直接使用this關鍵字來訪問當前線程的相關方法和屬性。
2. 實現Runnable接口:
需要創建一個實現了Runnable接口的類,并實現其run()方法。在run()方法中定義線程要執行的任務。然后,可以創建該類的對象,并將其作為參數傳遞給Thread類的構造方法來創建Thread對象。調用Thread對象的start()方法來啟動線程。
示例代碼如下:
`java
public class MyRunnable implements Runnable {
@Override
public void run() {
// 線程要執行的任務
System.out.println("線程正在執行");
}
}
public class Main {
public static void main(String[] args) {
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start(); // 啟動線程
}
}
`
通過實現Runnable接口創建線程的優點是可以避免單繼承的限制,因為Java中一個類只能繼承一個父類,但可以實現多個接口。
無論是繼承Thread類還是實現Runnable接口,都可以通過調用start()方法來啟動線程。start()方法會在新的線程中調用run()方法,從而執行線程的任務。注意,直接調用run()方法只會在當前線程中執行run()方法的代碼,并不會啟動新的線程。
Java還提供了其他方式來啟動線程,例如使用Callable和Future接口、使用線程池等。這些方式可以更靈活地管理和控制線程的執行。