TsgcWebSocketServer_HTTPAPIMétodos › ShareList

ShareList Method

Adquire um lock compartilhado (somente leitura) na lista interna de conexões e a retorna para enumeração concorrente.

Sintaxe

function ShareList: TList;

Valor de retorno

A TList ativa de instâncias TsgcWSConnection mantida pelo servidor. O chamador deve tratar a lista como somente leitura e deve liberar o lock chamando UnShareList ao terminar. (TList)

Observações

ShareList adquire o bloqueio SRW (Slim Reader/Writer) interno da lista em modo compartilhado, permitindo que vários threads enumerem a tabela de conexões ao mesmo tempo sem se bloquearem. Utilize-o quando você só precisar ler o estado da conexão (iterar, contar, buscar um GUID) — é significativamente mais barato que LockList, que adquire o bloqueio de gravação exclusivo e serializa o acesso. Nunca adicione, remova ou altere itens enquanto estiver com o bloqueio compartilhado; faça upgrade para LockList em vez disso. Cada chamada a ShareList deve ser pareada com exatamente uma chamada a UnShareList, idealmente dentro de um bloco try..finally, ou a lista permanece bloqueada e novas conexões não podem ser registradas.

Exemplo


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

Voltar para Métodos