TsgcWebSocketServer_HTTPAPIMethoden › ShareList

ShareList Methode

Erwirbt eine gemeinsame (schreibgeschützte) Sperre auf der internen Verbindungsliste und gibt sie zur gleichzeitigen Aufzählung zurück.

Syntax

function ShareList: TList;

Rückgabewert

Die aktive TList von TsgcWSConnection-Instanzen, die vom Server gehalten werden. Der Aufrufer muss die Liste als schreibgeschützt behandeln und die Sperre durch Aufrufen von UnShareList freigeben, sobald er fertig ist. (TList)

Hinweise

ShareList erwirbt den internen SRW-Sperrmechanismus (Slim Reader/Writer) der Liste im gemeinsam genutzten Modus, sodass mehrere Threads die Verbindungstabelle gleichzeitig durchlaufen können, ohne sich gegenseitig zu blockieren. Verwenden Sie es, wenn Sie nur den Verbindungszustand lesen müssen (iterieren, zählen, eine GUID nachschlagen) — es ist deutlich günstiger als LockList, das die exklusive Writer-Sperre nimmt und den Zugriff serialisiert. Fügen Sie niemals Elemente hinzu, entfernen oder verändern Sie sie, während Sie die gemeinsam genutzte Sperre halten; wechseln Sie stattdessen zu LockList. Jeder Aufruf von ShareList muss mit genau einem Aufruf von UnShareList gepaart werden, idealerweise innerhalb eines try..finally-Blocks, sonst bleibt die Liste gesperrt und neue Verbindungen können nicht registriert werden.

Beispiel


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

Zurück zu Methoden