TsgcWebSocketServer_HTTPAPI › Méthodes › ShareList
Acquiert un verrou partagé (lecture seule) sur la liste de connexions interne et la renvoie pour une énumération simultanée.
function ShareList: TList;
La TList active des instances TsgcWSConnection détenues par le serveur. L'appelant doit traiter la liste en lecture seule et doit libérer le verrou en appelant UnShareList une fois terminé. (TList)
ShareList acquiert le verrou SRW (Slim Reader/Writer) interne de la liste en mode partagé, permettant à plusieurs threads d'énumérer simultanément la table de connexions sans se bloquer mutuellement. Utilisez-le lorsque vous avez seulement besoin de lire l'état des connexions (itérer, compter, rechercher un GUID) — c'est nettement moins coûteux que LockList, qui prend le verrou exclusif d'écriture et sérialise les accès. N'ajoutez, ne supprimez ou ne mutez jamais d'éléments tout en tenant le verrou partagé ; passez à LockList à la place. Chaque appel à ShareList doit être associé à exactement un appel à UnShareList, idéalement dans un bloc try..finally, sinon la liste reste verrouillée et les nouvelles connexions ne peuvent pas être enregistrées.
oList := oServer.ShareList;
try
for i := 0 to oList.Count - 1 do
DoSomething(TsgcWSConnection(oList[i]));
finally
oServer.UnShareList;
end;