public void Desconectar(Cliente cd) { foreach (Cliente c in Clientes.Keys) { if (c.Usuario == cd.Usuario) { //bloqueo de exclusión mutua lock (ObjetoBloqueo) { this.Clientes.Remove(c); this.ListaClientes.Remove(c); foreach (IChatRespuesta Respuesta in Clientes.Values) { Respuesta.RefrescarClientes(this.ListaClientes); Respuesta.Dejar(cd); } } return; } } }