1

Java では、new Thread(Runnable r) を使用して新しいスレッドを簡単に作成できます。ただし、これはローカル マシンのスレッドを使用します。

(ssh 経由で) 別のマシンに接続し、そのマシンの新しいスレッドで関数を実行する方法はありますか?

4

3 に答える 3

2

(ssh 経由で) 別のマシンに接続し、そのマシンの新しいスレッドで関数を実行する方法はありますか?

短い答えはノーです。別のシステムでログインしてコマンドを実行できるSSH の Java 実装が多数あります。これは、別のシステムで Java (JVM) の別のインスタンスを実行できることを意味します。このリモート コマンドはローカル スレッドで実行できますが、リモート システムで「スレッド」をフォークすることはできません。

長い答えは、操作をリモート化する方法は他にもたくさんあるということです。通常、リモート マシンで何らかのサーバーを実行して、リクエストを受け取ってレスポンスを返すことを意味します。リモーティング プロトコルを暗号化するには、さまざまな方法があります。Web サーバーへの HTTP 経由の SSL 要求は、1 つのメカニズムです。 RMI over SSLは別の方法です。

于 2013-05-01T02:44:41.980 に答える
0

Java RMI を使用して、別のマシンでコードを実行できます。私はやったことはありませんが、どうやらSSH経由でこれを行うことができます。

SSH v2 プロトコル経由の Java RMI

于 2013-05-01T02:29:28.023 に答える
0

Amazon のSimple Queue Serviceを使用して、これと同様のものを実装しました。 machine1 は Runnables ( Jacksonでシリアル化) をキューを介して送信し、それを取得して machine2 で実行しました。Simple Queue Service には小規模な使用向けの無料利用枠がありますが、HornetQRabbitMQなどのオープンソースのメッセージング ライブラリ/プログラムが多数あります。

于 2013-05-01T02:31:47.473 に答える