1

在 Java 中,我们可以使用 new Thread(Runnable r) 轻松创建一个新线程。但是,这使用了我们本地机器上的线程。

有没有办法连接到另一台机器(通过 ssh)并在该机器上的新线程上运行函数?

4

3 回答 3

2

有没有办法连接到另一台机器(通过 ssh)并在该机器上的新线程上运行函数?

最简洁的答案是不。有许多SSH 的 Java 实现允许您在另一个系统上登录和运行命令。这意味着您可以在另一个系统上运行另一个 Java (JVM) 实例。您可以在本地线程中运行此远程命令,但不能在远程系统上派生“线程”。

长答案是,还有许多其他远程操作的方法,这通常意味着在远程机器上运行某种服务器,接收请求并返回响应。然后有许多方法可以加密远程协议。通过 HTTP 到 Web 服务器的 SSL 请求是一种机制。 基于 SSL 的 RMI是另一个。

于 2013-05-01T02:44:41.980 回答
0

您可以使用 Java RMI 在另一台机器上运行代码。我从来没有这样做过,但显然你可以通过 SSH 做到这一点。

java RMI 通过 SSH v2 协议

于 2013-05-01T02:29:28.023 回答
0

我使用亚马逊的简单队列服务实现了与此类似的东西——machine1 通过队列发送 Runnables(用Jackson序列化),然后在 machine2 上提取并执行。Simple Queue Service 有一个供小规模使用的免费层,但有很多开源消息传递库/程序,例如HornetQRabbitMQ

于 2013-05-01T02:31:47.473 回答