- Регистрация
- 27.12.2016
- Сообщения
- 289
- Благодарностей
- 404
- Баллы
- 63
Добрый день!
Есть необходимость поиска по таблице значений из списка. Как правильно залочить объекты для многопотока?
Правильно ли я понимаю, что внутрь lock(SyncObjects.ListSyncer), после входа одного потока другие не попадут до его выхода, и следовательно отдельно лочить еще и таблицу уже не нужно?
Есть необходимость поиска по таблице значений из списка. Как правильно залочить объекты для многопотока?
C#:
//таблица
var table = project.Tables["table"];
//исключения
var excep = project.Lists["exception"];
//лочим список
lock(SyncObjects.ListSyncer)
{
//в цикле обходим список
for (int i=0; i<excep.Count; i++)
{
//берем строку из списка
string expt = excep.GetItem(i.ToString(), false);
//удаляем лишнее - https://vk.com/id
string search = Macros.TextProcessing.Replace(expt,"replace_value", "", "Text", "First")
//в цикле ищем полученную строку по ячейкам таблицы
for(int j=0; j<table.RowCount; j++)
{
//берем ячейку 0
string cell = table.GetCell("0",j);
//ищем вхождение
if (search == cell)
{
return "Нашёл!";
}
}
}
}