我的做法是开20个线程,然后挂起,只到有客户的请求。如果有20个人同时来联接,就每人一个线程,如果来了40个,就每线程两个,有先后。如果每个线程处理为20个,则这个服务器的处理能力就有400个在线,并发处理能力为20同时。如果每个的处理时间为2秒,这种结构是很高效的。
我做过一个类似的服务程序,同时200个联接,客户端不停的收发数据。CPU的利用为30%.(只有数据收发操作,没有其他的操作)。处理完一个请求,然后继续挂起,不占用CPU时间。
我做过一个类似的服务程序,同时200个联接,客户端不停的收发数据。CPU的利用为30%.(只有数据收发操作,没有其他的操作)。处理完一个请求,然后继续挂起,不占用CPU时间。
解决方案 »
- null+str
- 【散分啦】Show Me The Money~~~ HOHO~~~
- 对程序员最有益的问题--怎么反编译JAVA程序
- xslt转换XML到HTML中的空格问题
- 在执行 invoke 方法的时候报 InvocationTargetException 异常
- 一个list的问题,很简单请帮帮忙
- $$$$$$$$$$$$$$$$$$ 菜鸟:关于JList控件的问题. $$$$$$$$$$$$$$$$$$$$$$$$
- 奇怪的Graphics2D性能问题
- 各位朋友,java.io.EOFException异常是什么回事?
- 哪位大虾知道安装pushlet?请指教!
- 开发B/S项目过程中碰到的一个Web问题,大家帮忙看看。
- 求:数据结构JAVA版电子书下载地址
如果对性能要求很苛刻,用IOCP,它已经实现了线程池的管理。因此,无论如何,通讯server总是不需要你来实现线程池的。
还有反射,
如果Java的话。