传统硬件的堵塞以下,从内存中读取数据,而后写到磁盘,而CPU一直等到磁盘写完成,磁盘的写操做是慢的,这段时间CPU被堵塞不能发挥效率。服务器
使用非堵塞的DMA以下图:CPU只是发出写操做这样的指令,作一些初始化工做,DMA具体执行,从内存中读取数据,而后写到磁盘,当完成写后发出一个中断事件给CPU。这段时间CPU是空闲的,能够作别的事情。这个原理称为Zero.copy零拷贝。线程
Netty底层基于上述Java NIO的零拷贝原理实现:3d