根據http://support.microsoft.com/kb/156932如果滿足某些條件,對ReadFile的調用可以同步顯示。例如,如果目標文件是NTFS壓縮的。文章沒有提到如果文件句柄與IOCP相關會發生什麼。Win32 IO完成端口和同步出現的IO會發生什麼?
那麼當文件句柄與IOCP關聯時,在這種情況下會發生什麼?我仍然會收到這個請求的IO完成數據包,還是請求執行完全同步?
如果是這樣,我必須將整個ReadFile調用放入工作線程中。最初發出ReadFile調用的線程不允許被阻塞。我正在考慮IOCP的原因是因爲將ReadFile調用放入工作線程意味着上下文切換到工作線程,然後在ReadFile之後立即阻塞。