摘要: 如果將同步I/O方式下的數(shù)據(jù)傳輸比做數(shù)據(jù)傳輸?shù)牧阈欠绞剑ㄟ@里的零星是指在數(shù)據(jù)傳輸?shù)倪^程中是以零星的字節(jié)方式進行的),那么就可以將非阻塞I/O方式下的數(shù)據(jù)傳輸比做數(shù)據(jù)傳輸?shù)募b箱方式(在字節(jié)和低層數(shù)據(jù)傳輸之間,多了一層緩沖區(qū),因此,可以將緩沖區(qū)看做是裝載字節(jié)的集裝箱)。大家可以想象,如果我們要運送比較少的貨物,用集裝箱好象有點不太合算,而如果要運送上百噸的貨物,用集裝箱來運送的成本會更低。在數(shù)據(jù)傳輸過程中也是一樣,如果數(shù)據(jù)量很小時,使用同步I/O方式會更適合,如果數(shù)據(jù)量很大時(一般以G為單位),使用非阻塞I/O方式的效率會更高。因此,從理論上說,數(shù)據(jù)量越大,使用非阻塞I/O方式的單位成本就會越低。產(chǎn)生這種結(jié)果的原因和緩沖區(qū)的一些特性有著直接的關(guān)系。在本節(jié)中,將對緩沖區(qū)的一些主要特性進行講解,使讀者可以充分理解緩沖區(qū)的概念,并能通過緩沖區(qū)來提高程序的執(zhí)行效率。
閱讀全文