关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结
昨天面试的时候没有答上来同步与异步,阻塞与非阻塞的区别,回来搜了一下,发现这篇文章写的不错,转载学习一下,链接如下: https://blog.csdn.net/chen8238065/article/details/48315085 相关资料 IO基本概念 Linux环境 同步异步阻塞非阻塞 同步与异步 阻塞与非阻塞 IO模型Reference Link 阻塞IO模型 非阻塞IO模型 IO复用模型 信号驱动异步IO模型 异步IO模型 总结 AIOBIONIO Java对BIONIOAIO的支持 AIOReference Link1ReferenceLink2 NIOReference Link epollselectpollReference Link LTETepoll select的几大缺点 poll实现 epollreference Link 总结 IOCP ReferenceLinkConcreteRealization 相关资料 IO基本概念 Linux环境 Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)