重新启动线程的 run()



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

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

有办法吗?

在 Java 中,线程无法重新启动。但是,您可以循环线程执行的操作。

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

根据我对你的实际问题的了解,你不需要重新启动run().从您提供给我们的小信息中猜测,我建议您看看动画师。

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

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

最新更新