网络IO、IO多路复用、reactor模型
阻塞IO 与 非阻塞IO的区别
首先,阻塞是什么意思?->即IO未就绪的情况下,发起系统调用的线程就会阻塞等待
什么决定是阻塞IO 还是非阻塞IO呢?->soket的属性来决定,如果sokect是阻塞的,那么调用的对应的IO函数也是阻塞的;如果sokect是非阻塞的,那么调用的IO函数也是非阻塞的->fcntl 可以将socket设置为非阻塞的
在IO未就绪的情况下,是否会阻塞线程来分别阻塞IO还是非阻塞IO
但是非阻塞IO面临一个问题就是 不知道什么时候去调用recv \read
accept->对应的Tcp编程中三次握手 close ->对应的就是四次挥手
IO多路复用->复用指的是复用一个线程同时检测多个socket是否就绪,多路指的是多个socket

- IO多路复用有哪些?—→select\poll\epoll