2

我正在编写创建一个流程的简单类,我希望使用该流程可以执行的操作(方法),但我不知道如何..

我的简单方法是:

 public void initProcesses()
    {
        Process pA;
        Process pB;
        Process pC;

        try 
        {
            pA = Runtime.getRuntime().exec("java -cp ProccesA.java ");
                    Class<ProccesA> a = pA.getClass<ProccesA>();
        } 
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

现在,我不确定我是否知道 getclass 是否会有所帮助(而且我知道我可以使用 reflation 代替)但我需要通过流程来做到这一点,所以这是我的问题,

有人对我如何使用我的进程 ProccessA.Java 并使用 hie 方法有任何建议吗?

谢谢

4

2 回答 2

0

正如其他人指出的那样,您不能直接在另一个进程中调用 Java 对象的方法。

但是,您可以使用Java RMI ,或者使用套接字构建您自己的类似接口。

但是,请仔细考虑您是否真的需要一个单独的进程,因为进程间通信会使代码复杂化并且有很多性能开销。

于 2012-05-16T20:14:59.103 回答
0

Runtime.exec()通常意味着从 Java 中启动非 Java 进程。无法访问该进程中的任何内容 stdout 和 stderr 等内容除外)。

可能你可能想做这样的事情:

ProcessA instance = new ProcessA();
instance.someMethod();
于 2012-05-16T19:51:44.430 回答