Запуск определенного экшена в 1 поток при многопотоке.

woober

Client
Регистрация
07.04.2015
Сообщения
211
Благодарностей
123
Баллы
43
Здравствуйте!

Возник такой вопрос, возможно ли при многопоточном выполнении шаблона сделать так чтобы, для примера, большая часть задач шаблона как и положено выполнялась параллельно, НО в конце шаблона несколько экшенов (или C# когд) выполнялись 1 раз, т.е. в 1 поток.

Другими словами 10 потоков шаблона выполняют параллельно проект и 1 из потоков достигает нужного места шаблона самым первым, начинает выполнять экшены (или C#), а другие потоки видят, что все... кто-то уже выполняет последнее действие в шаблоне и нам надо просто завершить работу, т.к. Нет нужды чтобы этой действие выполнялось параллельно.
Возможно ли это и в какую сторону искать...:au:
Может как то залочить что-то, как lock(SyncObjects.ListSyncer)
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
502
Баллы
113
Можно сделать флаг на выполнение куска шаба - глобальная переменная, либо создавать/удалять файл-флаг, которые объявляют что нужный кусок кода начал выполняться и остальные потоки его пропускают
 
  • Спасибо
Реакции: woober

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 075
Благодарностей
8 960
Баллы
113
согласен, файл-флаг - самое простое и надежное решение..
 
  • Спасибо
Реакции: woober

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)