java多執行緒的三種實現方式的極簡範例
阿新 • • 發佈:2018-12-13
java提供了三種多執行緒的實現方式,分別為:繼承Thread類、實現Runnable介面 和 實現Callable<>介面。
繼承Thread類
執行緒的執行體是run()方法,所以我們只需要過載父類的run()方法。建立類物件,呼叫start()方法即可。
實現Runnable介面
過載run()方法。利用MyRunnable類的物件當作引數,建立Thread物件,呼叫該物件的start()方法即可。
實現Callable<>介面
這種方法允許子執行緒函式有返回值,並能夠丟擲異常。
程式碼:
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
public class ThreadTest{
public static void main(String[] args){
new MyThread().start();
new Thread(new MyRunnalbe()).start();
new Thread(new FutureTask<Void>(new MyCallable())).start();
}
}
class MyThread extends Thread{//繼承Thread類
@Override
public void run(){
System.out.println("123");
}
}
class MyRunnalbe implements Runnable{//實現Runnable介面
@Override
public void run(){
System.out.println("123");
}
}
class MyCallable implements Callable<Void>{//實現Callable介面,<>內和call方法的返回值相同
@Override
public Void call() throws Exception{//這種實現方式可以丟擲異常和帶有返回值
System.out.println("123");
return null;
}
}