Delen via


Benoemde pipe-exemplaren

De eenvoudigste pijpserver maakt één exemplaar van een pijp, maakt verbinding met één client, communiceert met de client, verbreekt de verbinding met de client, sluit de pijpgreep en beëindigt. Het is echter gebruikelijker dat een pijpserver communiceert met meerdere pijpclients. Een pipe-server kan één pipe-exemplaar gebruiken om verbinding te maken met meerdere pijpclients door verbinding te maken met en de verbinding met elke client op volgorde te verbreken, maar de prestaties zouden slecht zijn. De pipe-server moet meerdere pipe-exemplaren maken om meerdere clients tegelijkertijd efficiënt te kunnen verwerken.

Er zijn drie basisstrategieën voor het onderhouden van meerdere pijpexemplaren.

De multithreaded pipe-server is het eenvoudigst te schrijven, omdat de thread voor elk exemplaar communicatie verwerkt voor één pipe-client. Het systeem wijst naar behoefte processortijd toe aan elke thread. Maar elke thread maakt gebruik van systeembronnen, wat een nadeel is voor een pijpserver die een groot aantal clients verwerkt.

Met een server met één thread is het eenvoudiger om bewerkingen te coördineren die van invloed zijn op meerdere clients en is het eenvoudiger om gedeelde resources te beveiligen tegen gelijktijdige toegang door meerdere clients. De uitdaging van een server met één thread is dat het coördinatie van overlappende bewerkingen vereist om processortijd toe te wijzen voor het afhandelen van de gelijktijdige behoeften van clients.