1. 程式人生 > >【非同步請求相關知識點】flush()緩衝區強制寫出

【非同步請求相關知識點】flush()緩衝區強制寫出

flush()意思是把緩衝區的內容強制的寫出。 因為作業系統的某些機制,為了防止一直不停地磁碟讀寫,所以有了延遲寫入的概念, 主要用在IO中,即清空緩衝區資料,一般在讀寫流(stream)的時候,資料是先被讀到了記憶體中,再把資料寫到檔案中,當你資料讀完的時候不代表你的資料已經寫完了,因為還有一部分有可能會留在記憶體這個緩衝區中。這時候如果你呼叫了close()方法關閉了讀寫流,那麼這部分資料就會丟失,所以應該在關閉讀寫流之前先flush()。。   在網路web伺服器上也是,為了防止寫一個位元組就傳送一個訊息,所以有緩衝區的概念,比如64K的記憶體區域,緩衝區寫滿了再一次性寫入磁碟之中(或者傳送給客戶端瀏覽器)。 flush方法一般是程式寫入完成時執行。隨後跟著close方法。