如何确保将FutureTask的垃圾回收提交给ThreadPoolExecutor然后取消?

如何确保将FutureTask的垃圾回收提交给ThreadPoolExecutor然后取消?,第1张

如何确保将FutureTask的垃圾回收提交给ThreadPoolExecutor然后取消?

我什么都无法工作,所以我想出了以下解决方案。这是一个大概的概述:我在ThreadPoolExecutor中创建了一个数组,该数组跟踪队列中的可运行对象。然后,当我需要取消队列时,我遍历并在每个可运行对象上调用了cancel方法。就我而言,所有这些可运行对象都是我创建的自定义类,它们的cancel方法只是设置了canceled标志。当队列提出下一个要处理的队列时,在运行该可运行对象时,它将看到已取消并跳过了实际工作。

因此,所有可运行的对象都会被取消,很快就被一个接一个地快速清除。

可能不是最好的解决方案,但它对我有用,并且不会泄漏内存。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5093099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存