假设,这是在任何带有 servlet
项目的 jsp
中。
我点击一个按钮来计算一些东西,这个过程将通过几个步骤或使用一些需要近 5 个小时的同步线程来完成。
如果我点击后关闭浏览器窗口,会发生什么? 计算过程会停止还是继续?
如果是后者(继续),并且我在 2 小时后登录我的帐户,我会看到什么? 我想实时查看计算进度。
我应该做什么?
最佳答案
这种处理需要规划。有很多边缘情况。如果进程已经在运行怎么办?如果服务器在处理过程中终止怎么办?可以重新启动吗?处理过程可以中断吗?每个用户都可以启动此处理吗?还是只有授权用户才能启动此处理?
好的,现在给出答案。您希望在单独的后台线程中运行处理。请参阅执行器类。然后,您必须将该处理的进度存储在某处(此处为数据库)并创建另一个页面来显示该进度。您可能还必须记住开始处理的用户,以便您知道向请求进度的用户显示哪些进度信息。
所以,简单! :)
关于java - 实时显示计算进度,即使浏览器关闭也能保留进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15314274/