以与桌面应用程序相同的方式使用Java Threads是否安全?

时间:2014-01-09 12:00:58

标签: java android multithreading

Android必须管理线程,或者可以使用这样的代码:

public class GameThread implements Runnable {

    public void run() {
        while (!finished) {

            //game work

            try {
                Thread.sleep(fps);
            } catch (InterruptedException e) {
                // Interruptions here are no big deal.
            }
        }
    } 
}

2 个答案:

答案 0 :(得分:5)

您可以直接使用Thread但Android中有一些捕获

  • 不要阻止UI线程
  • 不要从UI线程外部访问Android UI工具包

Processes and Threads上的Android文档提供了充足的指南,可帮助您入门。

使用AsyncTask

  

AsyncTask允许您对用户执行异步工作   接口。它在工作线程中执行阻塞操作   然后在UI线程上发布结果,无需您   自己处理线程和/或处理程序。

答案 1 :(得分:4)

Android拥有自己的Threading模型和框架,它比普通的Java复杂得多。 documentation解释了您需要的一切。