我目前正在使用 JMX 来管理和监视在 Java 类中执行的巨大迁移过程。
我希望能够在需要时中止并终止进程,例如客户/时间要求,或者在单个迁移中发生一些死循环。
在这里,我们称 abort 是一种优雅的方式,通过设置一个布尔标志来终止线程,并且一旦每个循环将首先检查该标志,然后决定是否继续。这已经实施,没有任何问题。
但是,我在杀死线程时遇到了麻烦。我的同事建议我重写 finalize() 方法并尝试在其中杀死它。但是,我在网上发现这种方法无法销毁对象,建议由 GC 调用,而是由用户调用。
我猜这个理论是可以的,只要对象被破坏,就不会再发生任何过程。我只是不确定这是否能够在 JAVA 中实现。
另外,我想知道,你们有没有其他方法可以给我提示。
非常感谢您的帮助。
PS:和JMX有关,并不代表真的和JMX有关系,只是我希望这个杀戮命令来自JMX控制台客户端。