在java nio中有三个重要组件:Channel Selector
Channel: channel代表硬件设备,文件,网络套接字或程序组件之类实体的连接。
Selector:多路复用器 主要负责对Channel的监听。 channel向selector注册感兴趣的事件 当事件发生时 可通过Selector选择出Channel 进行事件处理。
多路复用 与传统多线程模式相比较。有着明显的优势
1. 采用单线程模式 只要一个线程就能操作监听所有通道线程 大大减少(内存,CPU)资源消耗
2. IO多路复用 select就绪通道 采用操作系统底层作为‘通知器’ 来通知JVM 哪个通道的数据需要进行处理。不是采用for循环 而是通过通知方式 大大提高了程序在运行效率。
网友评论