0

Я пишу программу, которая будет создавать пользователей навалом, у меня есть операция, которая является частью создания, которое блокируется в течение примерно 5 секунд, чтобы обойти это, я собирался сделать его прорезанным и иметь все, что сидит в потоке бассейн.- это System.DirectoryServices.AccountManagement.GroupPrincipal thread safe?

Мой вопрос в том, что я создаю принцип за пределами потока и передаю принцип группы в поток и звоню group.Members.Add(u) и group.Save() Могу ли я попасть в беду? было бы лучше создать новый руководитель группы изнутри каждого потока?

ответ

0

От MSDN:

Любые открытые (Shared в Visual Basic) члены этого типа являются потокобезопасными. Любые члены экземпляра не гарантируют безопасность потоков.

Эта небольшая заметка является очень распространенной в документации. Это зависит от вас, программист, чтобы решить, что вы подразумеваете под «потоковой безопасностью» и как контролировать параллельный доступ.

1

Каждый раз, когда два потока действуют в одном экземпляре коллекции, вы небезопасны. Если вы используете только один фоновый поток, поэтому пользовательский интерфейс не блокируется, а затем создайте группу в фоновом потоке и используйте ее там исключительно. Если ваш план состоит в том, чтобы ускорить добавление пользователей в группу, создав несколько потоков для одновременного использования Active Directory, я предполагаю, что это не поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^