TsgcWebSocketServer_HTTPAPIMethods › ShareList

ShareList Metodo

Acquisisce un blocco condiviso (in sola lettura) sull'elenco delle connessioni interno e lo restituisce per l'enumerazione concorrente.

Sintassi

function ShareList: TList;

Valore restituito

Il TList attivo delle istanze TsgcWSConnection detenute dal server. Il chiamante deve trattare l'elenco come di sola lettura e deve rilasciare il lock chiamando UnShareList al termine. (TList)

Note

ShareList acquisisce il lock SRW (Slim Reader/Writer) interno della lista in modalità condivisa, consentendo a più thread di enumerare la tabella delle connessioni contemporaneamente senza bloccarsi a vicenda. Lo utilizzi quando deve solo leggere lo stato delle connessioni (iterare, contare, cercare un GUID) — è significativamente meno costoso di LockList, che acquisisce il lock di scrittura esclusivo e serializza l'accesso. Non aggiunga, rimuova o modifichi mai elementi mentre tiene il lock condiviso; passi invece a LockList. Ogni chiamata a ShareList deve essere abbinata esattamente a una chiamata a UnShareList, idealmente all'interno di un blocco try..finally, altrimenti la lista rimane bloccata e non è possibile registrare nuove connessioni.

Esempio


oList := oServer.ShareList;
try
  for i := 0 to oList.Count - 1 do
    DoSomething(TsgcWSConnection(oList[i]));
finally
  oServer.UnShareList;
end;

Torna ai Metodi