最近刚开始读cpp-httplib源码,发现它是采用blocking IO + 线程池的模式,每个连接由线程池里的某一个线程处理。既然这样,每个线程同一时刻只处理一个fd上的数据读写,为什么还要用select或者epoll这样的IO复用呢?
它的select_read函数里每次只是监听一个套接字,这样select意义在哪里呢?
可能是理解还不到位,有没有读过cpp-httplib的大佬可以指点一下?感激不尽。
最近刚开始读cpp-httplib源码,发现它是采用blocking IO + 线程池的模式,每个连接由线程池里的某一个线程处理。既然这样,每个线程同一时刻只处理一个fd上的数据读写,为什么还要用select或者epoll这样的IO复用呢?
它的select_read函数里每次只是监听一个套接字,这样select意义在哪里呢?
可能是理解还不到位,有没有读过cpp-httplib的大佬可以指点一下?感激不尽。