2013-03-23 28 views

回答

3

,內核在進程的請求的I/O請求。這個過程會執行其他的事情。由於I/O通常比內存操作慢得多,這意味着在讀取完成之前,進程可以完成很多工作。在I/O異步完成,這意味着過程中不堵塞,不坐在那裏什麼都不做,而I/O子系統轉到磁盤並返回數據。

的比喻是:你問一個朋友,讓你一杯水,當你吃。當朋友得到水時,你繼續吃東西。當朋友回來後,你喝水。那是異步交付一杯水。同步意味着你坐在桌旁無所事事,無法做任何事情,而是要等待水

玻璃
0

根據我的理解,該任務由調用aio_read的進程執行。結果應在原始調用中提供的返回緩衝區中排隊。這意味着,取決於流程及插座它試圖讀取你的輸出將是即使同時運行不同的,因爲他們將不得不存儲在不同的緩衝器。

希望這是有益的。有關更多信息,我想看看IBM的來源我下面貼

Asynchronous I/O is currently only supported for sockets. The aio_offset field may be set but it will be ignored. 

IBM Source