Pergunta

Estou escrevendo um programa que criará usuários a granel, tenho uma operação que faz parte da criação que é blocos por cerca de 5 segundos, para contornar isso, eu iria fazê -lo encadeado e ter tudo em um pool de threads.

Minha pergunta é se eu criar o princípio fora do tópico e passar o princípio do grupo para o tópico e ligar group.Members.Add(u) e group.Save() Posso ter problemas? Seria melhor gerar um novo diretor de grupo de dentro de cada thread?

Foi útil?

Solução

A partir de Msdn:

Qualquer membro público estático (compartilhado no Visual Basic) desse tipo é seguro. Qualquer membro da instância não tem garantia de ser seguro.

Essa pequena nota é muito comum na documentação. Cabe a você o programador decidir o que você quer dizer com "Thread Safe" e como controlar o acesso simultâneo.

Outras dicas

Sempre que dois threads atuam na mesma instância de coleção, você não está seguro. Se você está usando apenas um único thread de segundo plano para que a interface do usuário não bloqueie, crie o grupo no encadeamento de segundo plano e use -o lá exclusivamente. Se o seu plano é acelerar adicionar os usuários a um grupo, gerando vários threads para atingir o Active Directory ao mesmo tempo, acho que isso não ajudará.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top