@UserTrue Дело в том что может быть дело совсем в другом, потому что еще процесс обработки одного изображения долго происходит больше минуты, а весь шаблон я бы не хотел в общий доступ выкладывать
Счетчик в многопотоке
-
В OnApplicationStart устанавливаешь глобальную переменную, а в потоках уже увеличиваешь эту глобальную переменную.
Если будет перезагрузка потока то глобальная переменная объявится на 0 опять
Нет, не объявится на 0 опять. Так как OnApplicationStart выполняется один раз при запуске скрипта, до начала работы всех потоков.
-
Я не обьявлял ее в Onapplicationstart
Зря..
логика и не сработает, ведь эта функция выполняется до всех потоков, а значит каждый поток получит по нулю в ней
Я засыпаю и не могу переварить смысл вашей фразы.. Оставлю алгоритм необходимых действий:
- Устанавливаете глобальную переменную счётчика в Onapplicationstart
- Увеличиваете её в потоках в нужных местах действием увеличить глобальную переменную
- Всё
-
@seoshnek said in Счетчик в многопотоке:
ведь эта функция выполняется до всех потоков, а значит каждый поток получит по нулю в ней. Верно?
Каждый поток из Onapplicationstart ничего не получит. Каждый поток в свою очередь обратиться к глобальной переменной и получит значение из неё. Глобальная переменная хранится вне потоков и любых функций.
А смысл Onapplicationstart в том, что действия в ней выполняются один раз до старта потоков, хоть он 1, хоть 100.