NOTE

3.2 BIO实现的多线程服务器

服务端编程,传统的情况是使用BIO。 但是使用这种会有两个阻塞点: ServerSocket.accept() 和 InputStream.read() ,因此单线程只能服务一个客户端。 为了服务多个用户,那么必须使用多线程来处理read请求,但是线程资源是有限的。 尤其对于长链接来说,保持如此之多

Java创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

服务端编程,传统的情况是使用BIO。 但是使用这种会有两个阻塞点:ServerSocket.accept()InputStream.read(),因此单线程只能服务一个客户端。 为了服务多个用户,那么必须使用多线程来处理read请求,但是线程资源是有限的。 尤其对于长链接来说,保持如此之多的长链接对服务器的消耗太大(线程资源一直被占用)