iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Software Development

Java基礎筆記系列 第 24

Java 多執行緒Thread vs. Runnable

  • 分享至 

  • xImage
  •  

程式中所謂的「多執行緒」,指的是允許同時執行多個程序。在Java中,若想要同時執行多個任務,可透過Thread類別或是Runnalbe介面來實現多執行緒。

Thread

可以透過繼承Thread類別(java.lang.Thread),並Override覆寫Thread的run()方法,即可達到多執行緒的作用

class MyThread extends Thread { //先繼承
    @Override
    public void run() { //覆寫
        System.out.println("thread executed code");
    }
}

public class Demo {
    public static void main(String[] args) {
        MyThread t = new MyThread(); //產生執行緒物件
        t.start(); //啟動新的執行緒並執行 run() 方法
    }
}

※直接呼叫 run() 會在當前執行緒中執行,而不會創建新的執行緒。

Runnalbe

Runnalbe是一種介面,使用此介面即可達到多執行緒作用,同時還能繼承其他類別,比Thread更有彈性。

class MyRunnable implements Runnable {
    @Override
    public void run() {  //Runnalbe介面唯一的方法即為run()
        System.out.println("thread executed code");
    }
}

public class Demo {
    public static void main(String[] args) {
        Runnable r = new MyRunnable();
        Thread t = new Thread(r); //因是介面,不是繼承,故要手動產生執行緒物件
        t.start();
    }
}

上一篇
Java的final家族及throw和throws
下一篇
Java 的Synchronization與Locks
系列文
Java基礎筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言