TsgcWebSocketServer_HTTPAPIMétodos › ShareList

ShareList Método

Adquiere un bloqueo compartido (solo lectura) sobre la lista de conexiones interna y la devuelve para su enumeración concurrente.

Sintaxis

function ShareList: TList;

Valor de Retorno

La TList activa de instancias TsgcWSConnection mantenida por el servidor. El invocador debe tratar la lista como de solo lectura y debe liberar el bloqueo llamando a UnShareList cuando termine. (TList)

Observaciones

ShareList adquiere el bloqueo SRW (Slim Reader/Writer) interno de la lista en modo compartido, permitiendo que múltiples hilos enumeren la tabla de conexiones al mismo tiempo sin bloquearse mutuamente. Úselo cuando solo necesite leer el estado de la conexión (iterar, contar, buscar un GUID) — es significativamente más económico que LockList, que toma el bloqueo exclusivo de escritura y serializa el acceso. Nunca agregue, elimine ni mute elementos mientras mantiene el bloqueo compartido; en su lugar, cambie a LockList. Cada llamada a ShareList debe ir emparejada exactamente con una llamada a UnShareList, idealmente dentro de un bloque try..finally, o la lista permanecerá bloqueada y las nuevas conexiones no podrán registrarse.

Ejemplo


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

Volver a Métodos