Вопрос по многопоточности. Запуск потока после сбора нужных данных
-
@Krotiki А данные парсер сохраняет в глобальные переменные? Я бы вообще ресурсы использовал
-
чеёрт, чтобы многопоток, чтобы обмениваться данными между потоками глобальные переменные или ресурсы, чтобы в каждом потоке выполнять определенную функцию получать номер потока и в зависимости от номера потока выполнять соответствующую ему функцию, или ресурсы, если до запуска потоков нужнно чтото сделат/инициализировать онеапликейшен.
в это случае количество потоков должно сответствоывать количеству функций желательно. каждый поток может породить поток но лучше так не делать пока не прекрощаешь задовать вопросы. почему я должет смотреть десятки часов видео я конечно не буду а они нет
-
@ruzne Вам по письму и изложению еще долго до адекватности. Каждый мастер в своем деле.
Если кто-то готов помочь, напишите, я заплачу сколько потребуется, но мне нужно именно решение.
-
@Krotiki said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@ruzne Вам по письму и изложению еще долго до адекватности. Каждый мастер в своем деле.
Если кто-то готов помочь, напишите, я заплачу сколько потребуется, но мне нужно именно решение.
дак какой вопрос и такой.
в чем проблема, какие выдает ошибки, пример не работающего скрипта.
-
@Krotiki У меня сейчас нет времени накидать скрипт именно по вашему вопросу, но такие вещи делаются успешно, и у меня есть пример скрипта для подобных ситуаций. Прямо вашу проблему он не решает, но точно демонстрирует пути решения.
Мой пост в англоязычной части форума: http://community.bablosoft.com/topic/3776/calling-different-function-in-threads/14# В нем скрипт.
Если нужно доп демо или сделать работу - пишите в личку.
-
@ruzne вроде он из списка берется же данные а глобальный список не возможно сделать ну может и можно через JS
-
@Krotiki said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@Denis_krsk Не работает. Сделал все как в схеме, все равно ошибка. Плюс у меня 1 поток - 1 функция, я использовал определения номера потока через "==", а не больше/меньше, правда наврядли из-за этого

тебе советую использовать ресурсы для этой цели
-
@GamiD said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@ruzne вроде он из списка берется же данные а глобальный список не возможно сделать ну может и можно через JS
почему?
создать список
наполнить список
создать глобальную переменную
->сюда
присвоить глобальной переменной список
при каждом изменении списка ->туда
-
@ruzne, если точнее, то ещё
-читать глобальную переменную со списком в локальную
-изменять список
-сохранять локальный список в глобальную переменнуюПри этом не прерывать блокировку глобальной переменной асинхронными действиями, такими как вывод чего либо в лог.
-
@Antonio said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@ruzne, если точнее, то ещё
-читать глобальную переменную со списком в локальную
-изменять список
-сохранять локальный список в глобальную переменнуюПри этом не прерывать блокировку глобальной переменной асинхронными действиями, такими как вывод чего либо в лог.
именно, и чтобы дожувать для большего понимания, нужно учитывать что копируется именно значение переменной, а не что было бы удобнее указатель, в новом потоке нужно коприровать обратно в обычную переменную, потому что то что можно сделать с глобальной переменной очень ограничено. И для бульдозеристов, несмотря на копирование переменные никак не связаны и именения одной не влечет измениня в другой
-
Спасибо за ответы. По ресурсам:
- Даже если я запишу все в ресурсы, как потом доставать из ресурса нужное значение? Все значения, которые у меня есть я выбираю посредством их имени в переменной, а в ресурсе это будет список и индентификация только по порядку возможна, верно? Скорее всего ресурсы не подойдут
- Получается надо сделать глобальными переменными, но тогда вопросы:
- "[[SAVE_ANSWER_1]] = answer;" - это сохраняется по коду данные answer в переменную SAVE_ANSWER_1, как ее глобальной в коде сделать в данном коде?
- Здесь как сделать "ANSWER_BACK_1" глобальной?
-
@Krotiki said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
как ее глобальной в коде сделать
никак
-
@Krotiki said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
Здесь как сделать "ANSWER_BACK_1" глобальной?
Попробуйте в OnApplicationStart инициализировать глобальную переменную. И в коде этой глобальной переменной присвоить значение локальной переменной ANSWER_BACK_1. Дальше глобальная переменная будет как посредник между глобальной и локальной областью. Когда нужно считываем с нее значение в локалку, когда нужно пишем в нее с локалки в глобалку.