/////????? 和大家讨论一个问题,参与者有分
一般java服务器端是采用accept一个连接就开启一个线程。
但这种方式,连接的客户端多了线程就多了,如果一个ServerSocket的连接有2000个呢?那么2000个线程,这样,势必会使得性能急速下降(线程多了开销大,还会争用,互相阻碍)甚至程序停滞。
如果大家察看,一般程序的线程数都在10个以内。我记得好像各有书上分析建议说一个程序最好不要超过20个线程(具体的我记不清了)。
那么如果我确实一个程序有2000甚至20000个客户端连接呢?
比如大家常见的网络游戏传奇,就是如此(当然那个是windows消息方式,没必要像java轮询,这个不管它,只是举例而已)。
大家是怎么看这个问题的? 你觉得怎么解决呢? 注意不能因为一个用户而阻塞和影响其他用户哦!
————————————————————————————————————
凡参与者既给分,不够可以另开帖相送。
参与而没有的到分的,可以在本贴说明,本人再开帖送分。
________________________________________________________________________
谢谢!