Java多線程創建主要有兩種方式:
第三種方式(實現Callable接口)也可以用于創建多線程,但它通常與Executor框架一起使用,如ThreadPoolExecutor。
創建一個新的類,該類繼承自Thread類。重寫run()方法,在run()方法中編寫線程需要執行的任務。然后創建這個子類的對象,并調用start()方法來啟動線程。
示例代碼:
class MyThread extends Thread {
@Override
public void run() {
// 線程執行的任務
System.out.println("線程正在執行...");
}
}
public class Main {
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.start();
}
}
創建一個新的類,該類實現Runnable接口。重寫run()方法,在run()方法中編寫線程需要執行的任務。然后創建這個子類的對象,將其傳遞給Thread類的構造函數,最后調用Thread對象的start()方法來啟動線程。
示例代碼:
class MyRunnable implements Runnable {
@Override
public void run() {
// 線程執行的任務
System.out.println("線程正在執行...");
}
}
public class Main {
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
}
}
注意:實現Runnable接口相比繼承Thread類更具有優勢,因為Java不支持多重繼承,而實現接口可以實現多重繼承。此外,實現Runnable接口可以讓你的類更加靈活,因為它可以繼承其他類。