java聊天程序为什么需要多线程

Python010

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也可以通过内存映射文件来实现进程间通信(共享内存)。

要用到多线程、socket通信、JMF多媒体框架,想做的好,还要考虑设计模式。

多人的实现,就是多个客户端连接服务器而已(就像很多人连接网游服务器打游戏一样),当有语音数据时,广播发给相关的客户端接收者。