Android啟動執行緒的四種方式
阿新 • • 發佈:2019-01-05
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();
常用的執行緒啟動方式基本上就是這幾種,當然也可能有別的方式,畢竟本人水平有限,歡迎交流,互相學習。