2010-10-13 106 views

回答

0

您需要侦听器和客户端。

您可以使用套接字或RMI或您选择的任何其他协议来执行此操作。

0

根据您的要求,Java Messaging Service,JetlangJavaSpaces可能是适当的。

+0

java.util.concurrent的是里面只有程序线程 - 它不” t支持进程间通信。 – iirekm 2010-10-13 17:26:12

+0

谢谢;去除 – 2010-10-17 06:06:30

0

假设您的意思是这些程序运行在不同的JVM中,您需要使用Java消息服务,JavaSpaces或上帝保佑CORBA。 JMS和其他人一样,都有开销,因为你需要一个JMS服务器,例如activemq,但是否则不是那么可怕和非常强大。如果你想使用java.util.concurrent或JetLang(我认为),你将不得不在同一个JVM下运行这两个程序。你可以从另一个启动一个程序,使它们共享相同的JVM内存空间吗?

2

这取决于如何你想传达的2个节目:

  • 如果你只需要进程间信号量,某处在/ tmp目录创建一个文件,并将其锁定。

  • 如果您只需要进程间同步消息传递(远程过程调用),RMI应该是最简单的。

  • 如果您需要异步进程间消息传递,JMS应该是最简单的。

  • 如果您需要进程间共享内存,请使用映射文件。

  • 如果您需要以上所有条件,Terracotta(http://www.terracotta.org/)是最简单的方法:在相同甚至不同计算机上的不同JVM上的Java程序彼此相互看到,就好像它们已被执行在一台机器上的一个JVM内部。将一个程序拆分为几个程序甚至不需要更改代码 - 编写XML配置文件就足够了。

相关问题