gpt4 book ai didi

java - 是否可以停止某个线程的运行?

转载 作者:行者123 更新时间:2023-12-01 18:37:50 24 4
gpt4 key购买 nike

我一直在编写一个模拟,该模拟具有用于参数输入的 JFrame GUI,以及运行模拟动画的单独 JFrame

我将动画与模拟一起更新,因此对重绘的调用来自函数runsimulation()

我已经为我的主 GUI 框架添加了一个 EXIT_ON_CLOSE ,当动画运行时我可以关闭该框架并且它不会再次弹出,但我想知道是否可能当我关闭动画帧时关闭模拟线程。

因为目前当我关闭帧时,模拟会继续在后台运行并正确完成,但我希望动画帧上的关闭事件也成为“取消模拟”。

最佳答案

这里你有两个选择。一种选择是将正在运行的线程变成“守护进程”线程。这意味着该线程不会让程序保持运行,因此如果您关闭 JFrame 并退出应用程序,它将立即终止。

请注意,长时间运行的线程可能会在处理过程中突然终止。

(可能更好)的方法是在线程上调用 interrupt() ,并让线程定期检查 isInterrupted() ,如果标志是,则干净地退出设置。

关于java - 是否可以停止某个线程的运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21109530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com