Перезагрузить ресурс при многопотоке
-
Программа работает в режиме многопотока, есть необходимость перегружать ресурс нашел, что можно перегружать периодичесаи, а можно через выполнить код в нужном месте скрипта
Вопрос: не будет ли проблем у этой функции при многопотоке?
Вопрос 2: поток порой завершается с сообщением: скрипт выполнен успешно, хотя он не доработал скорей всего где то был сбой, но не ошибка, как узнать причину, кроме как логировать каждое действие и возможна ли проблема с завершением потока из за того что перезагружался поток?
-
Итак
нашел, что можно перегружать периодичесаи
Это думаю должно сработать правильно, надо будет попробывать.
а можно через выполнить код в нужном месте скрипта
Если ты про команду Reload('ИМЯ РЕСУРСА') то каждый поток будет обновлять ресурс сразу, пока одни потоки будут брать данные, другие будут его обновлять.. Получится каша..
Вопрос: не будет ли проблем у этой функции при многопотоке?
Можно собрать костыль командой if
[[THREAD_NUMBER]] == 1
И выделить один поток именно для обновления ресурса.
поток порой завершается с сообщением: скрипт выполнен успешно, хотя он не доработал
Если есть сообщение "скрипт выполнен успешно" значит скрипт выполнен успешно.
как узнать причину, кроме как логировать каждое действие
Самый эффективный способ это логировать каждое действие. Как вариант залогировать ключевые элементы. Так поймёшь на каком этапе у тебя косяк.
возможна ли проблема с завершением потока из за того что перезагружался поток?
эмм, что?
-
Вопрос: не будет ли проблем у этой функции при многопотоке?
Проблемы могут быть только если используете это в нескольких потоках одновременно. Вернее, проблем не будет, просто скрипт будет работать не так, как вы хотите.
Вопрос 2: поток порой завершается с сообщением: скрипт выполнен успешно, хотя он не доработал скорей всего где то был сбой, но не ошибка
Скорее всего из-за того, что используете метки. Помните, если перемещаетесь внутрь цикла или функции чреез метки, то и выйти должны тоже через метки.
возможна ли проблема с завершением потока из за того что перезагружался поток?
Нет, это исключено.