傳統io的時間都去哪兒了?
就拿單個io過程來看,首先時間主要花在了用戶態和內核態的轉換上,其次,考慮將多個io的“合並”為一個io,這不就節省時間了嗎
相應的NIO主要做了兩方面的提升
1.避免了用戶態和內核態的交換,直接操作內存,用戶態和內核態的轉換是很費時的,傳統的io寫入磁盤時,用戶態的接口不能直接操作內存,而是通過操作系統調用內核態接口來進行io。
2.利用buffer減少io的次數,buffer化零為整”的寫入方式因為大大減小了尋址/寫入次數,所以就降低了硬盤的負荷。
=====歡迎吐槽。。。