我有一个 Java 项目,它使用 JSoup 解析 html 页面并在 Excel 电子表格(.xls
文件)中写入一些日期。
框架中有一个“停止操作”按钮,因此用户可以停止任务,但该按钮在解析/写入结束之前不起作用。 框架中的“X 按钮”具有相同的行为。
有人可以帮我解决这个问题吗?
最佳答案
您所做的很可能是将长时间运行的代码放在主线程上。如果您这样做,您的按钮将无法与工作交互并停止它。
您需要将工作移到另一个线程上,然后让该线程定期检查(例如,在每个小工作单元之后)是否被礼貌地要求停止(通过设置一个标志,标记为 volatile
,以便线程不会缓存该值并且看不到更新)。
确保您不会陷入使用 Thread.stop()
的陷阱,该值已被弃用,并且有充分的理由。您需要确保工作线程与主线程协作,以便在需要时停止。
关于java - 停止/中断操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32946233/