重新启动线程的run()

时间:2014-01-14 16:48:19

标签: android multithreading

我正在构建一个可以在屏幕上移动对象的应用程序,您可以使用按钮控制它的方向。我希望当我点击按钮时它会立即做出反应。问题是,如果你在线程的run()中已经启动了while时点击它将首先移动对象,如果它应该在点击之前,那么它将对点击做出反应。

所以我认为如果有一种方法可以在点击时立即停止run()函数并重新启动它,可能是通过重新启动线程。

有办法吗?

1 个答案:

答案 0 :(得分:0)

在Java中,无法重新启动线程。但是你可以循环线程的作用。

此外,不可能立即中断任何代码,如果可能的话会非常危险 因此,您必须设计代码以经常检查是否需要取消执行,可能由Thread.interrupted()发出信号。

根据我对您实际问题的理解,您无需重新启动run()。 根据您给我们的小信息猜测,我建议您查看Animators

另一个选择是永久移动对象并设置每秒的速度(x和y)。因此,您不需要重新启动,只需更改这些变量。

如果您需要更多信息或我误解了您的问题,请发表评论。