如何在创建后调用流程操作?

时间:2012-05-16 19:45:34

标签: java

我正在写一个简单的类,它创建一个进程,我希望使用这个过程可以做的动作(方法),我不知道如何...

我的简单方法是:

 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是否会有所帮助(我知道我可以使用折射)但我需要使用流程这样做,所以这是我的问题,

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

感谢

2 个答案:

答案 0 :(得分:0)

Runtime.exec()通常用于从Java中启动非Java进程。无法访问 中的任何内容(除了stdout和stderr之类的内容)。

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

ProcessA instance = new ProcessA();
instance.someMethod();

答案 1 :(得分:0)

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

但是,您可以使用Java RMI,或使用sockets构建您自己的类似界面。

请仔细考虑是否确实需要单独的进程,因为进程间通信会使代码复杂化并且会产生很多性能开销。