gpt4 book ai didi

java - 如何终止 View 作用域 bean 中的线程?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:23 27 4
gpt4 key购买 nike

在我们的应用程序中,当用户单击命令链接时,会生成一个弹出窗口。此点击将传递一个 id 进行处理。

我的托管 bean 是 View 范围的,我正在创建一个线程来完成一些任务。

在用户单击链接的情况下,会生成一个弹出窗口并且线程已开始执行作业,假设用户关闭了弹出窗口并尝试单击提供不同 ID 的链接。我的问题是之前启动的线程没有被销毁。我仍然可以获得最新的 ID 详细信息作为响应,但前一个线程仍在执行作业。

我想知道是否有办法在新请求时终止先前的实例线程。我知道我可以使用 sessionscoped 实现此目的,但弹出窗口是在同一 session 中打开的。

最佳答案

作为您的用例的快速解决方案:

调用:

boolean cancel(boolean mayInterruptIfRunning)

在您的情况下,调用应使用:

mayInterruptIfRunning=true

剩下的唯一问题是:将 Future 引用保存在哪里? :)
如果您愿意,我们也可以讨论 :)

关于java - 如何终止 View 作用域 bean 中的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12112266/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com