reactor和proactor模式的主要區別是真正的讀取和寫入操作,是由誰來完成的。
reactor:應用程式自己讀取或者寫入資料。(應用程式完成)
proactor:應用程式不需要進行實際的讀寫過程,只需要從快取區讀取或者寫入即可。核心會讀取快取區或者寫入快取區到真正的io裝置。(核心完成)
同步和非同步是針對核心來說的
阻塞和非阻塞是針對應用程式來說的
2.1 所謂阻塞 i/o,是指應用程式在執行 i/o 操作後,如果沒有獲得響應,就會阻塞當前執行緒,不能執行其他任務。
2.2 所謂非阻塞 i/o,是指應用程式在執行 i/o 操作後,不會阻塞當前的執行緒,可以繼續執行其他的任務。
2.3 所謂同步 i/o,是指收到 i/o 請求後,系統不會立刻響應應用程式;等到處理完成,系統才會通過系統呼叫的方式,
告訴應用程式 i/o 結果。
2.4 所謂非同步 i/o,是指收到 i/o 請求後,系統會先告訴應用程式 i/o 請求已經收到,隨後再去非同步處理;等處理完成後,系統再通過事件通知的方式,告訴應用程式結果。
伺服器端流程如下:
(1)建立serversocket
(2)初始化 serveraddr(伺服器位址)
(3)將socket和serveraddr 繫結 bind
(4)開始監聽 listen
(5)進入while迴圈,不斷的accept接入的客戶端socket,進行讀寫操作write和read
(6)關閉serversocket
客戶端流程:
(1) 建立clientsocket
(2) 初始化 serveraddr
(3) 鏈結到伺服器 connect
(4) 利用write和read 進行讀寫操作
(5) 關閉clientsocket
了解一些概念
學習並了解些以下概念 paas paas是platform as a service的縮寫,意思是平台即服務。把伺服器平台作為一種服務提供的商業模式。通過網路進行程式提供的服務稱之為saas software as a service 而雲計算時代相應的伺服器平台或者開發環境作為服務進行提供就成為了...
Lucene使用前概念了解
資料庫中的搜尋很容易實現,通常都是使用sql語句進行查詢,而且能很快的得到查詢結果。為什麼資料庫搜尋很容易?因為資料庫中的資料儲存是有規律的,有行有列而且資料格式 資料長度都是固定的。我們生活中的資料總體分為兩種 結構化資料和非結構化資料。結構化資料 指具有固定格式或有限長度的資料,如資料庫,元資料...
資料結構 概念了解
這只是我的一些筆記 資料結構與演算法廣義理解 資料結構與演算法的全面知識點 10個資料結構 10個演算法 邊學邊練 這一招非常有用。建議你每週花1 2個小時的時間,集中把這週的三節內容涉及的資料結構和演算法,全都自己寫出來,用 實現一遍。知識需要沉澱,不要想試圖一下子掌握所有 時間複雜度 大o時間複...