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が役立つかどうかはわかりませんが(代わりにリフレを使用できることはわかっています)、プロセスでこれを行う必要があるため、これが私の問題です。

プロセスProccessA.Javaを使用してhieメソッドを使用する方法について誰かに提案はありますか?

ありがとう

4

2 に答える 2

0

Runtime.exec()通常、Java内から非Javaプロセスを開始することを目的としています。そのプロセス内のすべてにアクセスすることはできません(stdoutやstderrなどを除く)。

おそらくあなたはこのようなことをしたいかもしれません:

ProcessA instance = new ProcessA();
instance.someMethod();
于 2012-05-16T19:51:44.430 に答える
0

他の人が指摘しているように、別のプロセスで Java オブジェクトのメソッドを直接呼び出すことはできません。

ただし、Java RMIを使用したり、 socketsを使用して独自の同様の種類のインターフェースを構築したりできます。

ただし、プロセス間通信によってコードが複雑になり、パフォーマンスのオーバーヘッドが大きくなるため、別のプロセスが本当に必要かどうかを慎重に検討してください。

于 2012-05-16T20:14:59.103 に答える