在Android上,如何继续运行一个线程,直到它被用户停止?

时间:2015-03-21 20:22:42

标签: java android multithreading

感谢您的关注。

以下是这个场景:我的活动包括多次进行一次简单的模拟(由两个AI对抗另一个的游戏),并持续进行直到用户按下按钮。获得的数据用于使AI更好(我已经编写了这部分,它似乎正在工作)。

我希望活动能够显示基本信息,例如已播放的游戏数量。

我对Android和Java开发很陌生。我知道我必须使用单独的线程来进行模拟,但我不知道如何处理它,因为到目前为止我从未使用过单独的线程。让我烦恼的是:新线程是否可以访问公共方法和已经开始使用的类的变量?如果是这样,怎么样?

我已经阅读了官方Android开发者网站上有关线程的文档。

1 个答案:

答案 0 :(得分:0)

类的实例不依赖于任何线程,例如创建它的主线程。 在类的方法中创建的线程将可以访问该类的私有成员。它可以在其创建者给出的任何实例中访问公共成员,也可以从其他地方的公共方法获取(例如静态或应用程序上下文)。

因此,对于多线程,您需要小心,因为两个线程可以同时访问相同的方法和变量,并且您永远无法确定哪个线程将首先到达那里。最安全的方法是设计它,这样只有一个线程可以写入'对变量和其他人只是阅读。