看网上书上的各种解释太绕口难理解了,看到个例子挺好的。
女儿去外地工作,不弄经常回来,父女俩通过信件进行沟通
1.阻塞IO
daughter走之后,father一直在小区收发室等信。
2.非阻塞IO
father过一会来看一次,看看信到了没有(效率不高,吞吐量可能会降低)
3.IO复用
收发室改造系统,father向小区注册,之后会在家添加一个提醒装置,有信到达的时候就会提醒
4.信号驱动IO
但是还是免不了去取信读信回信等操作,只要住户告诉小区物业具体的操作,小区物业就会按照步骤去做。
5.异步IO
小区自动回信,将回信结果告诉住户。
java nio->select/poll方式 -> epoll方式
Linux对所有的外部设备都看做是一个文件,对一个文件的读写操作会调用系统的命令,返回一个file description(fd)
进程将一个多个fd转的哥select/poll,这样select/poll可以侦测多个fd,select/poll采用轮训的方式,并且fd的支持数量有限,收到了一些约束。 -> epoll 基于事件的驱动方式代替扫描,因此性能更高。
java旧版本采用select/poll(1.4-1.5),后续采用epoll(>1.5)
相关推荐
linux io模型,区分阻塞非阻塞同步异步的概念,从底层理解io。
网络IO模型 Linux环境下的network IO
linux 5中 IO模型.pptx
Linux IO模型 epoll 多进程模型 Socket
网络IO模型 Linux环境下的network IO 高清 目录 书签
Linux IO 之 IO与网络模型
Linux Socket编程、Linux IO模型、Linux 进程间通信【完整用例】
Linux IO模型/epoll
详细描述了linux io模型(NIO、BIO、select、poll、epoll)的特点以及应用场景
主要介绍了Linux 下的五种 IO 模型详细介绍的相关资料,需要的朋友可以参考下
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置...
内容包含Linux系统概述、Linux编程环境、Linux文件系统简介、Linux下的进程和线程、TCP/IP协议族、应用层网络服务程序、TCP编程、主机信息获取、数据IO复用、UDP编程、高级套接字、套接字选项、原始套接字、服务器...
LinuxIO通信模型漫谈.pdf
Linux驱动开发:Linux内核模块、字符设备驱动、IO模型、设备树、GPIO子系统、中断子系统、platform总线驱动、I2C总线驱动、SPI总线驱动 Linux项目是一个开放源代码的操作系统项目,由林纳斯·托瓦兹(Linus Torvalds...
LinuxIO通信模型漫谈[整理].pdf
linux平台服务器网络编程 epoll 模型 代码测试通过