`
jiaweihao1987
  • 浏览: 16886 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JAVA进程间通信

阅读更多

        之前被一个一直用C/C++的朋友问JAVA是怎么实现进程间通信的,一时语塞。第一反应是多线程的东西,可以传递共享变量之类,然而多进程的还真没有考虑过。

        初步想来,使用在不同机器上的进程通信一般就是RMI、PRC和Web Service之类,也就是底层基于Socket的通信方式。上网查了一下,传统的进程间通信的方式有大致如下几种:

(1)   管道(PIPE)
(2)   命名管道(FIFO)
(3)   信号灯(Semphore)
(4)   消息队列(MessageQueue)
(5)   共享内存(SharedMemory)
(6)   Socket

        由于上面几种通信方式,除了Socket之外,大都是需要靠系统调用来实现的,因此基于JAVA虚拟机运行的JAVA进程貌似都不太好用。说道共享内存,这里查到了一篇关于JAVA NIO 的内存映射文件(MappedByteBuffer)的文章,来自javaeye:Java NIO应用

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics