Я пишу поддерживаемую базой данных Directory
реализацию для Lucene.NET ( страница проекта в BitBucket), и я немного не знаю, что делать с блокировкой.
Естественно, блокировки необходимы для надежной индексации и поиска, но я не уверен, что все делаю правильно.В частности, используются ли блокировки только для сериализации доступа к индексу, чтобы записи происходили последовательно или что-то более сложное для него?
Например, это
insert into [Lock] (LockName) values (@lockName)
, а затем проверкаесли этой строки все еще достаточно, чтобы эта реализация была надежной?