TsgcWebSocketServer_HTTPAPI › Methods › ShareList
Verkrijgt een gedeeld (alleen-lezen) vergrendeling op de interne verbindingslijst en retourneert deze voor gelijktijdige opsomming.
function ShareList: TList;
De actieve TList van TsgcWSConnection-exemplaren die door de server worden bewaard. De aanroeper moet de lijst als alleen-lezen behandelen en moet de vergrendeling vrijgeven door UnShareList aan te roepen zodra hij klaar is. (TList)
ShareList vergrendelt de interne SRW-lock (Slim Reader/Writer) van de lijst in gedeelde modus, waardoor meerdere threads tegelijk de verbindingstabel kunnen doorlopen zonder elkaar te blokkeren. Gebruik het alleen wanneer u de verbindingsstatus moet lezen (doorlopen, tellen, een GUID opzoeken) — het is aanzienlijk goedkoper dan LockList, dat de exclusieve schrijfvergrendeling neemt en toegang serialiseert. Voeg nooit items toe, verwijder of muteer items terwijl u de gedeelde vergrendeling vasthoudt; upgrade dan naar LockList. Elke aanroep van ShareList moet worden gekoppeld aan precies één aanroep van UnShareList, bij voorkeur in een try..finally-blok, anders blijft de lijst vergrendeld en kunnen nieuwe verbindingen niet worden geregistreerd.
oList := oServer.ShareList;
try
for i := 0 to oList.Count - 1 do
DoSomething(TsgcWSConnection(oList[i]));
finally
oServer.UnShareList;
end;