关于用java多线程做的一个多人聊天小程序的一个问题——如何实现进程间的通信?

Python012

关于用java多线程做的一个多人聊天小程序的一个问题——如何实现进程间的通信?,第1张

传统的进程通信的方式有大致如下几种:

(1) 管道(PIPE)

(2) 命名管道(FIFO)

(3) 信号量(Semphore)

(4) 消息队列(MessageQueue)

(5) 共享内存(SharedMemory)

(6) Socket

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

除了上面提到的Socket之外,当然首选的IPC可以使用Rmi,或者Corba也可以。另外Java nio的MappedByteBuffer也可以通过内存映射文件来实现进程间通信(共享内存)。

必然的要加多线程啊,不加也可以

家多线程的情况主要是在服务器端使用多线程异步执行信息的的推送

如果不加就只能一个一个依次处理信息,也就是多个用户同时发送信息到服务器之后,还要在服务器排队,先到的先推送,后到的等待前面的