gpt4 book ai didi

java - 方法中仅运行单线程

转载 作者:行者123 更新时间:2023-12-01 08:52:55 27 4
gpt4 key购买 nike

我有一个 Spring MVC 中的应用程序。在 Controller 中,用户可以运行进程(有按钮)。进程工作一小时(将其命名为“longProces”)。所以我想在其他线程中运行这个方法“longProces”。

当“longProces”运行时,其他用户(当他想运行“longProces”时)应该收到消息:“此进程正在运行”并且他的线程被杀死(不等待它转动)。

我能做什么?有什么想法吗?

感谢解答

最佳答案

您可以使用 ExecutorService 代替 Executor。

在执行器服务中提交任务并在某些列表或映射中维护 future 引用。 ExecutorService threadExecutor = Executors.newSingleThreadExecutor();
Future future = threadExecutor.submit(new Task());
//submit the future in collection

对于每个新请求,您都可以检查已提交的任务及其状态(如果已完成)-

 //retrieve future instance from collection
if(future.isDone()){
//accept new request
}
else "process already running"

关于java - 方法中仅运行单线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268691/

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