java web页面请求结束一个正在运行任务

greatmind829 2011-09-16 11:50:01
在页面有一个按钮1,发送AJAX请求到后台, 这个请求在后台执行的时间会很长。页面还是另外一个按钮2,点按钮2AJAX请求到后台结束按钮1发送的那个请求。
这个如何解决。。。请发言。。
...全文
706 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatmind829 2011-09-16
  • 打赏
  • 举报
回复
处理响应函数 在后台,这两个请求都是异步的,加个标志改变这个标志的值,让他不执行,但是这两个请求都是异步的,他们在不同的进程中,加标志有用?
oO临时工Oo 2011-09-16
  • 打赏
  • 举报
回复
在处理响应函数那里,加个标志位可以了。如果关闭,响应函数就不要响应就是了。
im110 2011-09-16
  • 打赏
  • 举报
回复
java.util.concurrent.locks 了解下这个包下面的一些类。可以实现你的需求。
24K純帥 2011-09-16
  • 打赏
  • 举报
回复
settimeout试试
greatmind829 2011-09-16
  • 打赏
  • 举报
回复
还有更好的办法不。。
douyou 2011-09-16
  • 打赏
  • 举报
回复
这个不可能做到及时结束,关键是在你那个需要在后台执行很长时间的代码要能循环检测一个标志
说一下我现在用的通用进度条,就是首先生成一个随机数作为进度条的唯一标志,然后放到map中,value里面存进度条进度、总数及当前状态,页面上就可以循环检测这个map,作出相应的处理,终止的话就设置当前状态是停止,后台呢也是每次循环都检测一下,检测到终止状态了就break, over
安心逍遥 2011-09-16
  • 打赏
  • 举报
回复
感觉异步提交会好一点
oO临时工Oo 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 greatmind829 的回复:]

处理响应函数 在后台,这两个请求都是异步的,加个标志改变这个标志的值,让他不执行,但是这两个请求都是异步的,他们在不同的进程中,加标志有用?
[/Quote]

可以这样,执行请求的那块用个线程来做,然后把这个线程的标识放到session里,第二次停止时,通过这个线程标识来控制线程中的任务。
softroad 2011-09-16
  • 打赏
  • 举报
回复
static

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧