2014-02-20 2 views
-5

У меня есть сомнения по поводу блокировки погоды, которые должны выполняться в методе, который добавляет элементы в коллекцию, если два разных потока, вызывающих метод.Требуется блокировка для метода, который добавляет элементы в коллекцию, когда несколько потоков выполняют операцию добавления.

Допустим, метод:

private List<string> NameList = new List<string>(); 

private void AddItem(string item) 
{  
    NameList.Add(item); 
} 

Теперь, что происходит, если два потока вызывают AddItem добавить элемент?

+0

Вы пробовали _anything_? –

+0

Вы можете использовать [Целевые коллекции] (http://msdn.microsoft.com/en-us/library/dd997305 (v = vs.110) .aspx) – Habib

+0

, пожалуйста, покажите нам какой-нибудь код, иначе вы будете вероятно, будет проголосовать и закрыт, потому что у него недостаточно информации, чтобы кто-нибудь мог помочь вам. – Tanner

ответ

3

Хорошо, поэтому короткий ответ Да. Например, если вы используете List<T>

Чем дольше ответ, если вы можете использовать одну из коллекций в System.Collections.Concurrent, то нет, потому, что они по своей сути потокобезопасные.

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