日期:2014-05-20  浏览次数:20756 次

JAVA多线程编程怎么实现创建一个新线程时通知其他线程
最近做一个P2P系统,客户端连接服务器并获取和更新当前在线的所有客户端地址。我的想法是服务器端使用多线程处理每一个客户端的连接。每当一个新的客户端连接服务器时,需要创建一个新的线程,同时通知其他线程像客户端发送消息有新客户端上线;同样每当有客户端下线,也需要同时其他线程向客户端发送更新信息。请问新线程通知其他线程怎么实现呢?或者有其他的办法呢?

------解决方案--------------------
关注一下~
每当一个新的客户端连接服务器时,需要创建一个新的线程,会不会造成线程太多,系统资源耗尽呢?
------解决方案--------------------
这个干吗需要为每一个连接创建一个线程呢,这样的系统连接多了肯定崩掉,只需要创建一个线程就可以处理掉你的需求,当客户端连上来发送消息给 创建的工作线程让其把消息分发给各个客户端,当下线的时候同样的处理就Ok了
------解决方案--------------------
去看看Mediator模式,说白了就是有一个集中处理的对象来处理这件事。
------解决方案--------------------
NotifyAll吧。

所有已经启动的线程,都wait,