Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A E/S assíncrona é um meio eficiente para um único thread gerenciar várias solicitações de E/S simultaneamente. O RPC assíncrono no servidor realiza uma finalidade semelhante para solicitações RPC. Em versões do Windows anteriores ao Windows Vista, a postagem de solicitações de E/S assíncronas de procedimentos de servidor usando RPC assíncrono é desencorajada. No entanto, no Windows Vista e em versões posteriores do Windows, solicitações de E/S assíncronas associadas a uma porta de conclusão de E/S são suportadas por RPC assíncrono.
Antes do Windows Vista, uma chamada de procedimento remoto assíncrono pode ser concluída antes que a solicitação de E/S assíncrona seja concluída. Quando a chamada assíncrona for concluída, seu thread poderá ser encerrado se o tempo de execução RPC decidir que tem threads suficientes disponíveis para atender à carga de trabalho esperada. O sistema vincula todas as solicitações de E/S ao thread que as inicia. Se o thread terminar, todas as solicitações de E/S pendentes nesse thread serão anuladas. As solicitações de E/S pendentes não podem ser movidas para outro thread.
Portanto, os designers de aplicativos destinados a versões do Windows anteriores ao Windows Vista podem usar E/S síncrona em procedimentos de servidor ou podem encaminhar todas as solicitações que envolvem E/S assíncrona para procedimentos executados em um pool de threads gerenciado pelo aplicativo. A API do Windows fornece funções para o gerenciamento do pool de threads. Consulte Funções de processo e thread.