作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我给自己编写了一个小辅助工具。它有一个带有“运行”和“停止”按钮的小 GUI。如果我按“运行”,程序会执行一个循环,连续执行某些操作(http 请求 - 每小时几个)。
但现在我遇到一个问题,当我按“运行”时,按钮保持按下状态,程序/GUI 等待进程结束。此时我无法关闭窗口或按“停止”按钮。而且因为该进程会永远运行,所以我永远无法结束它 - 当然我可以在任务管理器中结束该进程。
有办法绕过这个问题吗?
我期待得到有用的答案;-)
最佳答案
如果没有代码,我们只能推测,但您很可能在同一线程上运行所有内容,这意味着处理按钮按下的方法也会启动这些请求。
这种方法的问题在于,所有事情都是在事件调度线程上完成的,该线程是处理事件和其他 UI 操作的线程。此线程上的任何冗长操作都会使您的 UI 无响应。
要解决此问题,您需要让 Run
事件处理程序启动执行所有工作的线程。这将使 EDT 可以自由地处理用户交互。
关于 java |如何在 "forever"循环运行时关闭 JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39445812/
我是一名优秀的程序员,十分优秀!