2017-02-24 95 views
0

我想知道如何完成一個成功的異步IO(讀)請求數據可用。我的意思是請求的數據是否存在於設備緩衝區或內存中(以某種方式緩存)?在異步IO完成

例如,當我的異步回調被觸發(由操作系統)通知我有關數據已準備就緒時,我是否會提供一個文件句柄(指向設備)來啓動數據傳輸,或者,我已經在回調中有數據(哪種數據意味着數據在內存中)。

+0

我不清楚你在問什麼。 – user3344003

+0

@ user3344003我更新了一些問題。希望現在已經很清楚了。 – zgulser

回答

0

您尚未指定您正在使用的系統。在我使用過的支持異步I/O的所有系統中,一個調用系統服務並提供用戶緩衝區來存儲數據。

編程技巧是,當軟件中斷髮生時通知I/O完成時,應用程序必須將I/O請求與緩衝區匹配。

不可否認,這樣的系統服務包括一個參數來傳遞一些應用程序ID,該ID隨後被傳遞到I/O完成時調用的軟件中斷處理程序。

因此通常您的數據將在緩衝區等待您。