深入理解Java AIO(二)—— AIO源碼解析
這篇只是個占位符,占個位置,之后再詳細寫(這個之后可能是永遠)
所以這里只簡單說一下我看了個大概的實現原理,具體的等我之后更新(可能不會更新了)
當然我講的很爛,建議如果不是特別在意的話直接跳到下一節看Linux AIO的實現,或者自己去網上找找資料(雖然我找不到就是了)。
之前也說過,Java AIO是直接使用epoll + 使用了並發包中的線程池來管理任務實現的異步,整體設計思路我個人覺得應該是采用Proactor模式。
大概就是圍繞一個封裝了AsynchronousChannelGroup的EPollPort實現,在調用epoll的基礎上,把事件放入一個隊列中,之后放入線程池中去處理。
我這樣說你們可能不是很清楚,可以自己去看一下Reactor模式和Proactor模式就明白了。
本來想着看看源碼解析一下到底怎么實現的。——》 但是網上找不到解析AIO源碼的資料(谷歌英文的資料也沒找到)——》自己看源碼——》干看有些地方看不懂——》只能去我的Ubuntu里編譯一下JDK了——》大家都在找實習了,算了,不編譯了,准備復習好了,等之后有空再編譯——》To Be Continue