java进程间通信

Posted

技术标签:

【中文标题】java进程间通信【英文标题】:java inter-process communication 【发布时间】:2011-01-03 07:47:49 【问题描述】:

是否可以使用 run a java class in command line 来在 running swing 中运行某个类或函数?

比如,当java Test asd将setText一个正在运行的swing Jlabel转为asd

【问题讨论】:

这是可行的,但不是一个好的设计。 @org.life.java:你怎么知道这不是一个好的设计? @Lukas Eder 他试图在两个进程之间进行通信,这也可以通过使用其他一些技术来完成,你说什么 这是一个非常糟糕的想法,但我没有选择,因为我正在做我最后一年的项目,我的讲师希望我使用一个专有软件“维生素 d 视频”,它可以进行人体检测并且能够在检测到一个时运行命令行。所以我需要在我的 java swing 中展示人类活动...... 我没有破解汇编代码的技巧,所以我就用这种方法.... 【参考方案1】:

这两个程序在不同的进程中运行。您将需要在进程之间创建一个接口(或者如 Matthew 所说:实现 inter-process communication)。有数百万种方法可以实现这一点,仅举几例:

创建基于文件的接口(测试将写入文件,JLabel 将读取该文件) 在两者之间创建 TCP/IP 连接 在两者之间创建 HTTP 连接(JLabel 可能运行 glassfish 线程或类似的东西) 创建 JMS 连接 创建 RMI 方法调用 创建一个 Web 服务(再次使用运行 glassfish 的 JLabel) 还有更多...

【讨论】:

您可能需要补充一点,这称为inter-process communication。【参考方案2】:

最直接的方法是创建一个 RMI 方法调用。

它从一开始就内置在 java 中,相当简单和轻量级。

【讨论】:

以上是关于java进程间通信的主要内容,如果未能解决你的问题,请参考以下文章

Java Attach API 使用啥进程间通信机制?

android 进程间通信 rabbitmq

java进程间通信

进程间通信FIFO java

JAVA线程与线程进程与进程间通信

Java NIO 进程间通信