@Fox
Создал функцию, которую вызываю из потока.
Внутри этой функции есть действие "выполнить код".
Именно там и происходит данная ошибка.
Просто не хотелось создавать лишних переменных, но пришлось. Сейчас создал новые переменные, сохранил туда значения в действии "выполнить код" и потом уже отдельным действием "установить глобальную переменную" присваиваю ей значение через переменную.
Пока работает вроде нормально.
Глобальная переменная
-
Если идет работа с глобальной переменной в нескольких потоках, произойдет ли конфликт? Или переменная обрабатывается основным процессом (который управляет потоками) поочередно для каждого потока?
-
@blackhacker Цитатка из руководства "глобальные доступны на протяжении работы всего приложения".
-
@Canine Да, но например если выполнять чтение->редактирование->присвоение переменной в разных потоках, как это сработает? Если правильно думаю, выполнение каждой секции в шаблоне происходит асинхронно (с некоторой задержкой, т.к. в коде шаблона в начале выполнения каждой секции вызывается функция со знаком
!), и может произойти "рассинхронизация" переменной в потоках. Второй поток прочитает переменную перед тем, как первый внесет в нее изменения. Но другое дело, если всем этим управляет основной процесс, выполняя действия для каждого потока поочередно. -
@blackhacker Ну да, это вполне возможно.
-
@blackhacker Может сделать, чтобы каждый поток вносил свою метку и следующий бы ждал пока она не появится и проблемы не будет?!
-
@blackhacker конфликтов не будет, админ уже освещал данный момент http://community.bablosoft.com/topic/364/многопоточное-использование-ресурсов-текстовых-файлов-как-списков