@JImk4 said in Не могу продумать алгоритм, чтобы потоки останавливались, пока происходит переключение vpn:
@sergerdn То есть ты хочешь сказать, что мой алгоритм не так плох
Да.
@JImk4 said in Не могу продумать алгоритм, чтобы потоки останавливались, пока происходит переключение vpn:
но для удобства лучше обернуть это все в отдельный модуль?
Да.
Но я это делаю в том числе, потому что можно написать отдельный тест на этот модуль.
Так как у меня ограниченные знания BAS, то я пишу функциональные тесты, чтобы проверить точно ли оно работает, как я ожидаю.
Дополнительно нужда в блокировках не редкая вещь, поэтому можно таскать из проекта в проект однажды написанный модуль.
И обновление модуля тоже упрощенное, нужно всего лишь после обновления модуля открыть все проекты, что его используют и они его обновят автоматически из папки BAS.
В данном случае нужен тест точно ли происходит блокировка, то есть другие потоки ничего не делают, если какой-то поток не захватил mutex.
Хотя бы по логам будет видно.
Я пишу множество логов, так как если обернуть функционал в модуль, то потеряются номера кубиков и в будущем будет сложно понять где что пошло не так. Да и вообще логи сильно помогают в поиске ошибок.
P.S.
Это на словах звучит все красиво, в реальности же у меня целый комбайн который обрабатывает код модуля после автоматического билда его в BAS.