Например при многопотоке есть момент в скрипте который нельзя сделать в многопотоке, т.к. действия с экраном пк делаются, я вынес это в отдельную функцию, как можно сделать очередь в басе Что если потоки дошли до этого момента вставали как называемую очередь, и делали функцию по очередь
mutex code Mutex LockScreen thread [ ... Lock("LockScreen") Try [ CallFunction("CriticalFunction") ] Finally [ Unlock("LockScreen") ] ]
Flito, пример кода. Это можно сделать через мьютекс, ивент и там еще какой-то есть метод ,не помню уже
Установи переменную - когда один из потоков доходит до твоей функции, то все остальные потоки отправляются в ожидание, в бесконечный цикл, пока переменная не изменится (увеличится на 1 или обнулится), а изменится она, когда работающий поток завершит действия в твоем цикле. И тогда остальные потоки выйдут из ожидания и продолжат работу