在 Java 中創(chuàng)建線程的方式有兩種,分別是繼承 Thread 類和實(shí)現(xiàn) Runnable 接口。
1.繼承 Thread 類
繼承 Thread 類并重寫其 run 方法。可以通過調(diào)用 start 方法來啟動(dòng)線程。
public class MyThread extends Thread {
@Override
public void run() {
// 線程要執(zhí)行的代碼
}
}
// 啟動(dòng)線程
MyThread myThread = new MyThread();
myThread.start();
2.實(shí)現(xiàn) Runnable 接口
實(shí)現(xiàn) Runnable 接口,重寫其 run 方法。使用 Thread 類的構(gòu)造方法傳入實(shí)現(xiàn)了 Runnable 接口的對(duì)象來創(chuàng)建線程,再通過調(diào)用 start 方法啟動(dòng)線程。
public class MyRunnable implements Runnable {
@Override
public void run() {
// 線程要執(zhí)行的代碼
}
}
// 啟動(dòng)線程
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
這兩種方式都可以創(chuàng)建線程,但實(shí)現(xiàn) Runnable 接口的方式更為常用,因?yàn)樗梢员苊庥捎诶^承 Thread 類而導(dǎo)致的單繼承局限性。同時(shí),通過實(shí)現(xiàn) Runnable 接口,可以把線程的任務(wù)和線程的執(zhí)行分離開來,提高代碼的可復(fù)用性。