Всем привет, возникла проблема с выполнением лока списка в многопотоке:
периодически на случайном потоке происходит зависание этого кода и вслед за ним встают все остальные потоки.
Наблюдалось и на 7.3 и на 7.4 (по-моему даже на 5-ке )
периодически на случайном потоке происходит зависание этого кода и вслед за ним встают все остальные потоки.
Наблюдалось и на 7.3 и на 7.4 (по-моему даже на 5-ке )
C#:
// берем из переменной текст, который надо искать
var textContains = project.Variables["text"].Value;
// получаем список, в котором будем искать
var sourceList = project.Lists["list"];
// ищем в каждой строчке в списке
lock(SyncObjects.ListSyncer) {
for(int i=0; i < sourceList.Count; i++) {
// читаем строку из списка
var str = sourceList[i];
// проверяем содержание текста в строке, если есть совпадение возвращаем "yes"
if (str.Contains(textContains)) {
return sourceList.IndexOf(str);
}
}
}
// если ничего не нашли возвращаем "no"
return "no";