2011-03-03 4 views
0

最初のJavaプログラムでコンソールから1つの入力を取得する必要があります。その入力私は最初のJavaプログラムのメインメソッドからスレッドとして実行されている2番目のJavaプログラムで渡す必要があります。マルチスレッドシステムの静的変数へのアクセス

変数を静的変数にして、2番目のjavaプログラムでアクセスしようとしましたが、null値(デフォルト値)を示しています。

私は最初のプログラムのオブジェクトも作るはずがありません。 どうすればいいですか?

答えて

0

最初のJavaプログラムが、コンソールから起動したときと同じ効果をもたらすO.S.のような関数を使用して2番目のJavaプログラムを起動している場合、JVMの2番目のインスタンスがあり、すべてがリセットされます。だからこそ、あなたはそれをゼロにしているのです。

提案は、2番目のプログラムのパラメータとして値を渡すことです。

0

私が知る限り、Javaに実装された共有メモリメカニズムはありません。また、パイプはVMの境界を越えて機能しないため、JNIとCコードを使用してメカニズムを作成する必要があります。

しかし、2つのプログラムが一緒に近いところで協力すれば、なぜそれらを1つのVMに入れてスレッドを使用してみませんか?私が考えることができるのはセキュリティ上の理由だけです。

関連する問題