@kirill1997 [[VAR_STR]]
var lines = RMap("imap") var q = 0 for(var i = 0; i < lines.length(); i++){ if(lines.at(i).indexOf( [[VAR_STR]] ) > -1){ var q = 1 break } } if(q){ log(lines.at(i)) }else{ log("строка в ресурсе не найдена") }а в чем вопрос?
В OnApplicationStart устанавливаешь глобальную переменную, а в потоках уже увеличиваешь эту глобальную переменную.
Если будет перезагрузка потока то глобальная переменная объявится на 0 опять
Нет, не объявится на 0 опять. Так как OnApplicationStart выполняется один раз при запуске скрипта, до начала работы всех потоков.
Я не обьявлял ее в Onapplicationstart
Зря..
логика и не сработает, ведь эта функция выполняется до всех потоков, а значит каждый поток получит по нулю в ней
Я засыпаю и не могу переварить смысл вашей фразы.. Оставлю алгоритм необходимых действий:
@seoshnek said in Счетчик в многопотоке:
ведь эта функция выполняется до всех потоков, а значит каждый поток получит по нулю в ней. Верно?
Каждый поток из Onapplicationstart ничего не получит. Каждый поток в свою очередь обратиться к глобальной переменной и получит значение из неё. Глобальная переменная хранится вне потоков и любых функций.
А смысл Onapplicationstart в том, что действия в ней выполняются один раз до старта потоков, хоть он 1, хоть 100.