Partilhar via


Instâncias de pipe nomeadas

O servidor de pipe mais simples cria uma única instância de um pipe, conecta-se a um único cliente, se comunica com o cliente, desconecta-se do cliente, fecha a alça do pipe e termina. No entanto, é mais comum que um servidor de pipe se comunique com vários clientes de pipe. Um servidor de pipe poderia usar uma única instância de pipe para se conectar a vários clientes de pipe conectando-se e desconectando-se de cada cliente em sequência, mas o desempenho seria ruim. O servidor de pipe deve criar várias instâncias de pipe para lidar com vários clientes simultaneamente.

Há três estratégias básicas para a manutenção de várias instâncias de tubo.

O servidor de pipe multithreaded é mais fácil de escrever, porque o thread para cada instância lida com comunicações para um único cliente de pipe. O sistema aloca o tempo do processador para cada thread conforme necessário. Mas cada thread usa recursos do sistema, o que é uma desvantagem para um servidor de pipe que lida com um grande número de clientes.

Com um servidor de thread único, é mais fácil coordenar operações que afetam vários clientes e é mais fácil proteger recursos compartilhados do acesso simultâneo por vários clientes. O desafio de um servidor de thread único é que ele requer coordenação de operações sobrepostas para alocar o tempo do processador para lidar com as necessidades simultâneas dos clientes.