NIO\BIO
NIO 是面向buffer的,客户端会向buffer中写入数据,而selector会轮询通道对应的buffer,看看buffer中是否有数据可读,有的话进行读取,没有的话线程可以继续干别的事情,比如读取别的通道对应的buffer。 而BIO,一个线程对应一个客户端请求,不管有没有请求,一直要阻塞在那里,浪费线程资源。
NIO 是面向buffer的,客户端会向buffer中写入数据,而selector会轮询通道对应的buffer,看看buffer中是否有数据可读,有的话进行读取,没有的话线程可以继续干别的事情,比如读取别的通道对应的buffer。 而BIO,一个线程对应一个客户端请求,不管有没有请求,一直要阻塞在那里,浪费线程资源。
相关推荐