簡體   English   中英

android線程:工作線程如何將信號發送到主(GUI)線程?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM