Condividi tramite


Istanze di pipe denominate

Il server pipe più semplice crea una singola istanza di una pipe, si connette a un singolo client, comunica con il client, disconnette dal client, chiude l'handle della pipe e termina. Tuttavia, è più comune che un server di pipe comunichi con più client pipe. Un server pipe può usare un'unica istanza della pipe per connettersi a più client pipe connettendosi a e disconnettendosi da ogni client in sequenza, ma le prestazioni sarebbero scarse. Il server pipe deve creare più istanze della pipe per gestire in modo efficiente più client contemporaneamente.

Esistono tre strategie di base per la manutenzione di più istanze della pipe.

Il server pipe multithreading è più semplice da scrivere, perché il thread per ogni istanza gestisce le comunicazioni per un singolo client pipe. Il sistema alloca il tempo del processore a ogni thread in base alle esigenze. Ogni thread usa tuttavia risorse di sistema, che è uno svantaggio per un server di pipe che gestisce un numero elevato di client.

Con un server a thread singolo, è più semplice coordinare le operazioni che influiscono su più client ed è più facile proteggere le risorse condivise dall'accesso simultaneo da più client. La sfida di un server a thread singolo è che richiede il coordinamento delle operazioni sovrapposte per allocare il tempo del processore per gestire le esigenze simultanee dei client.