gpt4 book ai didi

java - 如何限制第三方Java方法的执行时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:45:41 25 4
gpt4 key购买 nike

在 Java 程序中,我需要执行第三方 Java 类的方法。我使用 Class.forName 获取类,使用 newInstance() 获取此类的对象:

Class  class  = Class.forName(className);
AClass object = (AClass) class.newInstance();

然后我执行并获得所需方法的结果

ResultObject result = object.method();

到目前为止,还不错。但是如果我想限制该方法的执行时间(即,如果该方法在给定的秒数后没有停止,我想终止该执行并忽略结果),问题就会出现。

理想的解决方案是在单独的线程中运行该方法,如果该方法未及时完成,则停止并销毁该线程。但不幸的是,线程无法停止(它的 stop() 方法已弃用),我不能依赖第三方方法的正确中断行为。

有没有其他方法可以执行一个方法并完全控制它的执行(即能够随时终止它)?我确信这是可能的——例如,Netbeans 可以执行我的类(当我运行我的应用程序时)并且如果我按下停止按钮它可以终止它。但是 Netbeans(或 Eclipse 或任何其他 IDE)如何做到这一点?

有什么想法吗?谢谢!

最佳答案

一种选择是不仅在单独的线程中运行第三方代码,而且在单独的进程中运行。这很麻烦,但您可以随时终止该进程,并且它保证可以正常工作。

关于java - 如何限制第三方Java方法的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26989470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com