[英]Android: How to create and pass messages to worker thread from main thread
[英]android thread: how worker thread send signal to main(GUI) thread?
我有一個gui線程啟動一個新線程來做一些繁忙的事情。 GUI線程將等待工作線程完成,與此同時,GUI需要響應。
偽代碼:
主線程:
start_thread(); wait_thread_done();
工作線程:
doing_sth(); notify_main_thread();
在Android中最簡單的方法是什么?
最簡單的方法是使用Android的AsyncTask。 該文檔位於http://developer.android.com/reference/android/os/AsyncTask.html
而且,您可以調用Activity.runOnUiThread()從后台任務更新UI。
一個小的工作片段:
new Thread() {
public void run() {
handler.post(new Runnable() {
public void run() {
try{
// **Do the GUI work here**
} catch (Exception e) { }
}});
};
}.start();
調用Activity#runOnUiThread(Runnable),傳遞給該方法的Runnable將在GUI線程上執行。
或使用AsyncTask-這是正確的方法。
等待結果會使gui線程無響應。 您需要使用AsyncTask並重寫onPostExecute來執行后台線程完成后所需的操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.