暂停挂起的线程并在JVM重新启动后恢复它

时间:2018-08-13 08:59:48

标签: java

我正在寻找一种方法来存储挂起的线程,并在重新启动JVM之后恢复它。

任何线索都将非常可观。

重启后,线程名,线程组不必相同。如果要重新启动,应在重新启动JVM之前遵循相同的步骤。所有变量都应该存储在哪个线程可以处理或访问它的变量中。

1 个答案:

答案 0 :(得分:1)

没有办法做到。忘记任何关于持久化线程的想法。用任何已知的生产质量的JVM都无法实现。

最好将简单的任务队列存储在事务数据库(或消息队列系统)中,并编写可重新启动的任务代码。如果单个任务花费的时间足够长而无法重新启动任务,请将该任务拆分为较小的任务,或实施任务检查点。

(您真正想要的是实现正交持久性并具有持久化线程的能力以及具有活动查询的持久化数据库连接能力的JVM。据我所知,在任何JVM实现中,这些东西都没有,更不用说所有了。)

相关问题