繁体   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