Мне нужно создать безопасный список потоков, который будет добавлен в индекс lucene.
Безопасен ли следующий поток?
public sealed class IndexQueue
{
static readonly IndexQueue instance = new IndexQueue();
private List<string> items = new List<string>();
private IndexQueue() { }
public static IndexQueue Instance {
get { return instance; }
}
private object padlock = new object();
public void AddItem(string item) {
lock (padlock) {
items.Add(item);
}
}
}
Нужно ли блокировать даже при получении элементов из внутреннего списка?
Идея состоит в том, что у нас будет отдельная задача для захвата элементов из indexqueue и добавления их в индекс lucene.
Спасибо Бен