对于每个请求,都会发生大量计算。平均而言,回复需要大约 10 分钟的时间来处理。与此同时,如果用户发送新请求;先前的请求绝对没有继续的意义。
所以我写了一个代码,我基本上中断了前面执行它的线程。在tomcat环境中这是一个好习惯吗?是否有更好的解决方案来处理它。中断tomcat线程可以吗。或者我应该管理自己的线程池并让池为我进行计算?
更多信息:基本上整个任务都包含在 FutureTask 中。对于每个请求,都会执行此任务,并且对任务的引用由 ConcurrentHashMap 存储。对于每个请求,映射中的所有未来都被“取消”,然后继续执行最新的请求。从而取消先前的请求。