java - 停止/中断操作

标签 java parsing operation cancel-button

我有一个 Java 项目,它使用 JSoup 解析 html 页面并在 Excel 电子表格(.xls 文件)中写入一些日期。

框架中有一个“停止操作”按钮,因此用户可以停止任务,但该按钮在解析/写入结束之前不起作用。 框架中的“X 按钮”具有相同的行为。

有人可以帮我解决这个问题吗?

最佳答案

您所做的很可能是将长时间运行的代码放在主线程上。如果您这样做,您的按钮将无法与工作交互并停止它。

您需要将工作移到另一个线程上,然后让该线程定期检查(例如,在每个小工作单元之后)是否被礼貌地要求停止(通过设置一个标志,标记为 volatile,以便线程不会缓存该值并且看不到更新)。

确保您不会陷入使用 Thread.stop() 的陷阱,该值已被弃用,并且有充分的理由。您需要确保工作线程与主线程协作,以便在需要时停止。

关于java - 停止/中断操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32946233/

相关文章:

iphone - NSXMLParser rss 图像 url?

c# - 将无效日期处理为有效日期?

java - 如何在JavaPoet中添加 'Any Type'问号?

java - 如何以编程方式报告 AWT/Swing 事件队列长度?

Java 扫描器 "rewind"

docker - 将补丁应用于修改后的 docker 容器的最佳实践?

c# - 向主机发送大量请求时,System.Net.HttpWebRequest.GetResponse() 操作超时

python - Op 和 Function 有什么区别

Java 转换(动态)

java - 如何将复杂的业务验证与 JSR-303 合并?