首先runonuithread是activity內部的方法,在運用的時候最好指明當前環境變(context).
new thread(new runnable()
});}
}).start();
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
new thread(new runnable()
}).start(); }
上面兩個其實原理一樣,runonuithread這個會呼叫父類中的
public final void runonuithread(runnable action) else }
首先判斷是否是ui執行緒,不是的話就post,如果是的話就正常執行該執行緒.
只要經過主線程中的handler.post或者postdelayed處理執行緒runnable則都可以將其轉為ui主線程.再說handler的機制就是來處理執行緒與ui通訊的.
三、android多執行緒與介面互動的辦法
1.activity.runonuithread(runnable)
2.view.post(runnable),view.postdelay(runnable,long)
3、handler
4、asynctask
下面用乙個工程實現了上方四種互動辦法
介面互動 觸控反饋
通常頁面會擺放一些button按鈕或者view區域,使用者觸控按鈕之後會觸發下一步的操作。這種情況下,我們要對觸控這個行為給予使用者一些響應。如圖4 17所示,當我們手指觸控了button文字所在的cell區域時,對應的區域底色變成淺灰色,這樣使用者就可以知道小程式是有及時響應他的這次觸控操作,使用...
多執行緒 執行緒互動
在實際功能中,會存在一些執行緒互動的情況。比如 乙個執行緒執行某個操作,當操作的物件到達某種狀態時,會等待其他執行緒來執行。下面 的功能是,乙個執行緒對乙個數字執行減少方法,當減到1時,等待增加執行緒操作。public class thread interactive extends thread ...
多執行緒三(互動)
1 wait notify notifyall 這單個方法是屬於object類的方法 wait 導致當前的執行緒等待,直到其他執行緒呼叫此物件的notify 方法或notifyall 方法 notify 喚醒在此物件監視器等待的乙個執行緒 notifyall 喚醒在此物件監視器上等待的所有執行緒 2...