您的位置:首页 > 编程语言 > Java开发

java进程间通信

2016-05-24 17:17 330 查看
Java进程间通信可以采用的办法:

Socket/RMI/WEBService/WebServer, 这些都可以实现直接的数据交换
Database/File, 这些可以实现间接的数据交换
看你的业务是否要求实时, 如果不需要, 用数据库交换比较简单

除了Socket之外,当然首选的IPC可以使用RMI,或者CORBA也可以。
其实JAVA的CORBA实现也是通过RMI来实现的,而RMI归根结底也是靠Socket来实现的。
所以说JAVA进程间通信的最基本手段是Socket也不为过。

线程间通信:

可以直接传入共享的变量来实现

如果是两台电脑通讯...一切都是socket...什么mina啊,mq啊,http啊,都能实现啊

如果是本地,那方法就多了,文件,数据库,内存...

可以使用actor模型的java或者scala实现,现在Akka和JActor都可以试试,不过建议你使用Akka,有Java版API,使用也很简单,性能也可以。

传统的进程间通信的方式有大致如下几种:(1) 管道(PIPE) (2) 命名管道(FIFO) (3) 信号量(Semphore) (4) 消息队列(MessageQueue) (5) 共享内存(SharedMemory) (6) Socket

Java如何支持进程间通信。我们把Java进程理解为JVM进程。很明显,传统的这些大部分技术是无法被我们的应用程序利用了(这些进程间通信都是靠系统调用来实现的)。但是Java也有很多方法可以进行进程间通信的。

除了上面提到的Socket之外,当然首选的IPC可以使用Rmi,或者Corba也可以。另外Java nio的MappedByteBuffer也可以通过内存映射文件来实现进程间通信(共享内存)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: