共用方式為


非同步 I/O 和非同步 RPC

非同步 I/O 是單一線程同時管理多個 I/O 要求的有效方式。 伺服器上的非同步 RPC 會完成 RPC 要求的類似用途。 在 Windows Vista 之前的 Windows 版本中,不建議使用非同步 RPC 從伺服器程式張貼非同步 I/O 要求。 不過,在 Windows Vista 和更新版本的 Windows 中,非同步 RPC 支援與 I/O 完成埠相關聯的非同步 I/O 要求。

在 Windows Vista 之前,非同步遠端程序呼叫可能會在非同步 I/O 要求完成之前完成。 非同步呼叫完成時,如果 RPC 執行時間決定有足夠的執行緒可供服務預期的工作負載,其執行緒可能會終止。 系統會將所有 I/O 要求系結至起始它們的執行緒。 如果執行緒終止,該執行緒上擱置的任何 I/O 要求都會中止。 擱置的 I/O 要求無法移至另一個執行緒。

因此,以 Windows Vista 之前的 Windows 版本為目標的應用程式設計工具可以在伺服器程式中使用同步 I/O,或者可以將涉及非同步 I/O 的所有要求轉送到應用程式所管理執行緒集區上執行的程式。 Windows API 提供執行緒集區管理的函式。 請參閱 進程和執行緒函式