select多路复用的IO模型
2021-05-07 16:46:21 13 举报
IO多路复用模型
作者其他创作
大纲/内容
write()
单线程IO多路复用 + 多线程业务读写处理
解决了:1. 同线程中读写和select()只能串行执行的问题。2. write()和read()更专一。3. 往往我们也会把fd的select()和cfd的 select()放到同一个线程池中,然后就只有两个线程池仅仅处理事件的线程池(boss threadpools)和处理业务的线程池(worker threadpools)。
cfd
read()
fd
多线程IO多路复用 + 多线程业务读写处理
put fd to select
解决了:1. IO复用线程。
thread-pool-1
开始
fd=socket()
select()
多线程IO多路复用和业务读写处理
cfd=accept()
bind() & listen()
解决了:1. 单select()文件描述符有限的问题。2. fd的select()功能更专一化。
put cfd to select
main thread
another thread-pool-1
0 条评论
下一页