1. 程式人生 > >JAVA IO編程 IO多路復用底層機制

JAVA IO編程 IO多路復用底層機制

內存 同步 宋體 內容 完成 說明 介紹 reactor 區別

前面IO模型中有提到IO多路復用,這裏介紹下linux下的三種機制(基於多路復用模型的)

select,poll,epoll

技術分享圖片

反應器模式Reactor和Proactor模式

兩者的主要區別是就是真正的讀取和寫入操作是由誰來完成的

Reactor中需要應用程序自己讀取或者寫入數據

Proactor模式,應用程序不需要進行實際的讀寫過程,它只需要從緩存區讀取或者寫入即可,操作系統會讀取緩存區或者寫入緩存區到真正的IO的設備

Reactor(反應器模式)

  說明你可以進行讀寫操作了,關註的是IO操作的就緒事件(采用同步IO)

Proactor

  說明已經完成完成讀寫操作了,具體內存在給定緩存區中,可以對這些內容進行其它操作了,關註的是IO操作的完成事件(采用異步IO)

 

JAVA IO編程 IO多路復用底層機制