我不是多线程专家,只是初学者,所以请尝试理解我对这个主题的理解不足。
我有一些使用ExecutorService异步执行它们的任务,它是用这个 bean 创建的:
<bean id="executorService" class="java.util.concurrent.Executors"
factory-method="newFixedThreadPool">
<constructor-arg value="10" />
</bean>
我正在提交这样的任务:
Future<String> resultHandler = executorService.submit(new WorkerClass());
让我们想象一下我将同时运行 2 个任务的场景, taskA
和 task B
。
如何在B
不影响任务的情况下停止任务A
?
保存到哪里是明智的,这意味着我应该创建某种HashMap
东西来存储我的 Future 对象并通过一些键检索它们并对其进行cancel(true)
操作,或者更有经验的人如何做到这一点?