需要注意幾個概念:runnable,thread,handler。
1. runnable只是乙個介面,裡面包含run()函式。所以runnable本身不會開啟執行緒。
2. thread實現runnable介面,並建立新的執行緒。
創新執行緒有兩種方式:
*** extends thread...
*** implements runnable...
*** x = new ***();
new thread(x).start();
第二種方法好處是:
3. handler:乙個handler允許傳送和處理message或者runnable物件,並且會關聯到主線程的messagequeue中。
就是說handler應該與乙個執行緒相對應,可以傳送訊息,然後在主線程(ui執行緒)中處理訊息。
簡單來說,就是handler基本就是用來給執行緒更新ui的。
handler有乙個post方法,它會傳遞乙個runnable物件到訊息佇列中,在這個runnable物件中,重寫run()方法。一般在這個run()方法中寫入需要在ui執行緒上的操作。
handler.post(new runnable() {...
需要注意的是,post裡面的runnable的run()方法是執行於ui執行緒上的。所以不可以用來訪問網路等耗時操作,否則會報錯。相反如果在子執行緒中進行更新ui操作也會報錯。
Android 多執行緒
1 簡介 2 android 平台下的多執行緒 package com.powerise.thread import android.os.bundle import android.view.view import android.view.view.onclicklistener import ...
Android 多執行緒
1,常用的thread 和running的方法 public static void thread thread.start private static void running thread thread new thread runnable thread.start private stat...
Android 多執行緒
最近開始做安卓專案,然而對多執行緒的理解和應用還是欠缺,最近就系統的學習一下 public class testthreadactivity extends baseactivity private void initviews private class mytask extends asynct...