1. 程式人生 > >Android啟動執行緒的四種方式

Android啟動執行緒的四種方式

Android開發當中,經常都需要開啟子執行緒來進行一些耗時,或者可能產生阻塞的操作。開啟子執行緒主要分開兩大方式,繼承Thread類,或者是實現runnable類。不多說,看程式碼:

1、繼承Thread類的實現:

首先要寫一個子執行緒類,去繼承Thread類,重寫run方法

class MyThread extends Thread{
    @Override
    public void run() {
        super.run();
        //幹你需要做的操作
    }
}

啟動該執行緒:

new MyThread().start();

或者:

MyThread myThread = new MyThread();
myThread.start();

兩者是等價的。

另外也可以直接用匿名內部類來實現,就不用單獨寫一個類:

new Thread(){
    @Override
    public void run() {
        super.run();
        //進行自己的操作
    }
}.start();

跟單獨寫一個類,再啟動,兩個方式效果是一樣的。

2、通過實現runnable介面來實現

同樣,可以單獨寫一個類實現runnable介面:

class FirstThread implements Runnable{
    @Override
    public void run() {
        //幹你需要做的操作
    }
}

這種方法啟動執行緒的方式稍有不同

FirstThread firstThread = new FirstThread();
new Thread(firstThread).start();

同樣需要例項化自己寫的類物件,但該物件不是一個Thread物件,無法直接呼叫start()方法,這是一個runnable物件,需要new一個Thread物件把runnable物件傳進去即可。

同樣,啟動過程也可以用匿名內部類實現:

new Thread(new FirstThread()).start();

還是那句,如果執行緒要操作的內容比較少,也可以直接用匿名類方式新建執行緒,啟動執行緒一氣呵成:

new Thread(new Runnable() {
    @Override
    public void run() {
        //進行自己的操作
    }
}).start();

常用的執行緒啟動方式基本上就是這幾種,當然也可能有別的方式,畢竟本人水平有限,歡迎交流,互相學習。