- Регистрация
- 25.04.2019
- Сообщения
- 43
- Благодарностей
- 26
- Баллы
- 18
Приветствую! Помогите пожалуйста найти решение.
Необходимо в многопотоке получить первую строку из списка с удалением и передать её всем действующим потокам.
После определённого действия в шаблоне, нужно снова взять новую строку и передать её всем потокам и делать так пока список не закончится.
То есть с одной строкой должны работать сразу все потоки которые активны.
Подумал, что логика такая - Лочим один поток, он берёт строку из списка с удалением и кладёт в глобальную переменную, а другие потоки считывают глобальную переменную и кладут значение в локальную. Но не получается что-то.
Нашёл код на форуме, но в C# не силён. Всё равно потоки берут разные значения.
Пытаюсь использовать код:
Как правильно решить мою задачу?
Спасибо за помощь!
Необходимо в многопотоке получить первую строку из списка с удалением и передать её всем действующим потокам.
После определённого действия в шаблоне, нужно снова взять новую строку и передать её всем потокам и делать так пока список не закончится.
То есть с одной строкой должны работать сразу все потоки которые активны.
Подумал, что логика такая - Лочим один поток, он берёт строку из списка с удалением и кладёт в глобальную переменную, а другие потоки считывают глобальную переменную и кладут значение в локальную. Но не получается что-то.
Нашёл код на форуме, но в C# не силён. Всё равно потоки берут разные значения.
Пытаюсь использовать код:
C#:
lock(project.GlobalVariables){
var list = project.Lists["Список"];
string rx = list[0];
project.GlobalVariables.SetVariable("domen", "value", rx);
project.Lists["Список"].RemoveAt(0);
}
// Текст для обработки
string text = project.ExecuteMacro(project.GlobalVariables["domen", "value"].Value);
// Обработка текста "В переменную"
project.Variables["res"].Value = text;
Спасибо за помощь!
Последнее редактирование: