![](/img/trans.png)
[英]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.