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