Java 实时显示计算进度,即使关闭浏览器也能保留进度
假设这是在任何Java 实时显示计算进度,即使关闭浏览器也能保留进度,java,ajax,multithreading,Java,Ajax,Multithreading,假设这是在任何jsp和servlet项目中 我点击了一个按钮来计算一些东西,这个过程将在几个步骤中完成,或者使用一些需要将近5个小时的同步线程 如果单击后关闭浏览器窗口,会发生什么? 计算过程将停止还是继续 如果是后者(继续),并且我在2小时后登录到我的帐户,我会看到什么? 我想实时查看计算进度 我该怎么办?这种处理需要计划。有许多边缘情况。如果进程已经在运行怎么办?如果服务器在处理中间终止,该怎么办?你能重新开始吗?可以中断处理吗?是否每个用户都可以启动此处理,还是仅由授权用户启动 好的,现在
jsp
和servlet
项目中
我点击了一个按钮来计算一些东西,这个过程将在几个步骤中完成,或者使用一些需要将近5个小时的同步线程
如果单击后关闭浏览器窗口,会发生什么?
计算过程将停止还是继续
如果是后者(继续),并且我在2小时后登录到我的帐户,我会看到什么?
我想实时查看计算进度
我该怎么办?这种处理需要计划。有许多边缘情况。如果进程已经在运行怎么办?如果服务器在处理中间终止,该怎么办?你能重新开始吗?可以中断处理吗?是否每个用户都可以启动此处理,还是仅由授权用户启动 好的,现在回答。您希望在单独的后台线程中运行处理。请参阅Executor类。然后,您必须将该处理的进度存储在某个地方(这里考虑db),并创建另一个页面来显示该进度。您可能还必须记住启动处理的用户,以便知道向请求进度的用户显示哪些进度信息
所以,很简单!:) 你是在后台启动流程的吗?您需要保留线程更新的某种状态对象,然后使用该状态向用户显示信息。如果您的Web服务器运行,线程将继续运行。