为进程启动单独的 JVM 的平台独立方式?

问题描述

我们想使用第三方库,其中包含一些长时间运行的计算。我们想实现一种尽快取消计算的方法

不幸的是,库本身不支持中断处理。我们可以覆盖/分叉计算以注意中断,但我们希望尽可能避免这种情况。

我在考虑一些选择。

在单独的线程上长时间运行计算,不推荐使用 thread.stop 方法:虽然它不打开任何特定资源(数据库连接、文件等),但它确实使用了静态记录器等。因此,如果线程在日志记录过程中被暴力停止,我担心日志记录对象锁可能会损坏。也有可能它使用了其他静态物体,这些物体在强制停止时可能会损坏。

这就是我考虑开始一个单独的子进程的原因。进程蛮力停止的清理通常相对较好,因此这似乎是一个合理的解决方案。但是,我担心使用 ProcessBuilder 最终会将代码移动到本地区域(Java 路径设置、禁用子进程的操作系统上的潜在设置可能是一个问题,等等...)。

所以我的问题是:有没有办法以独立于平台的方式启动一个单独的 JVM 来启动一个可以突然停止的长时间运行的进程?它不一定是核心 java 功能,第三方解决方案也可以工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...