一个请求是一个线程吗?
这个取决于服务器的实现,确切的说是web服务器的实现,主要也就那么几种
1、单线程,一个线程处理所有请求,一次只能处理一个请求,处理完一下才轮到下一个,后面的请求处于阻塞状态,这种效率很低,但也因为是单线程,逻辑上不用担心并发问题。
2、多线程,一个线程A负责接受请求,每接受一个请求交给一个新线程B来处理,然后A线程返回继续接受,这种效率较高,但请求多时性能开销也大,因为要一直生成新线程,其次逻辑上要关注并发问题。
3、多线程+线程池,在2的基础上增加了线程池,能缓解线程开销大的问题。
4、NIO,即所谓的异步IO(非阻塞IO),简单点就是一个或多个线程就能处理大量请求,实现真正的高性能服务器。