0

J'écris un programme qui va créer des utilisateurs en vrac, j'ai une opération qui fait partie de la création qui est des blocs pendant environ 5 secondes, pour contourner cela, j'allais le faire enfiler et avoir tout assis dans un fil bassin.est System.DirectoryServices.AccountManagement.GroupPrincipal thread sécurisé?

Ma question est de savoir si je crée le principe en dehors du thread et de passer le principe du groupe au thread et d'appeler group.Members.Add(u) et group.Save() puis-je avoir des ennuis? serait-il préférable de générer un nouveau groupe principal à l'intérieur de chaque thread?

Répondre

0

De MSDN:

Tout public static (Shared en Visual Basic) de ce type sont thread-safe. Les membres d'instance ne sont pas garantis être thread safe.

Cette petite note est très courante dans la documentation. C'est à vous, le programmeur, de décider ce que vous entendez par "thread safe" et comment contrôler l'accès simultané.

1

Chaque fois que deux threads agissent sur la même instance de collection, vous n'êtes pas sûr. Si vous n'utilisez qu'un seul thread d'arrière-plan pour que l'interface utilisateur ne bloque pas, créez le groupe dans le thread d'arrière-plan et utilisez-le exclusivement. Si votre plan consiste à accélérer l'ajout d'utilisateurs à un groupe en générant plusieurs threads pour atteindre Active Directory en même temps, je suppose que cela n'aidera pas.