標籤:其他 需要 interrupt string stack end logs pos 兩種方法
Thread 類 和 Runner 介面
在Java中實現多線程有兩種方法
- 繼承 Thread 類
優點:通過覆蓋Thread 類的方法,可以改變線程的行為。
- 實現 Runner 介面
優點:不需要繼承Thread類,可以繼承其他類。
package threads.samples3;public class ThreadTest { public static void main(String[] args) { // 建立 Thread 子類的執行個體 Thread1 t1 = new Thread1(); // 建立實現了 Runnable 介面的類的執行個體,將其作為參數傳給 Thread 類的執行個體 Thread t2 = new Thread(new Runnable1()); // 通過調用 start 方法啟動線程 t1.start(); t2.start(); }}class Thread1 extends Thread { @Override public void run() { for(int i = 0; i < 3; i++) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(i + " in Thread1"); } }}class Runnable1 implements Runnable { @Override public void run() { for(int i = 0; i < 3; i++) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(i + " in Runnable1"); } }}/*0 in Thread10 in Runnable11 in Runnable11 in Thread12 in Runnable12 in Thread1*/
多線程(Java)