I/O模型主要包括:阻塞IO、非阻塞IO、I/O 多路复用、异步I/O和信号I/O;阻塞和非阻塞能应用于所有文件描述符。所谓阻塞方式的意思是指,当试图对该文件描述符进行读写时,如果当时没有东西可读,或者暂时不可写,程序就进入等待状态,直到有东西可读或者可写为止;而对于非阻塞状态,如果没有东西可读,或者不可写,读写函数马上返回,而不会等待,O_NONBLOCK 的标志打开文件/Socket/FIFO句柄,如果连续做 read 操作而没有数据可读,此时程序不会阻塞起来等待数据准备就绪返回,read 函数会返回