@DuckDuck said in Клик по claudflare:
//iframe >AT>0 >FRAME>
Так может не сработать, если появиться еще фрейм. Вот еще вариант
>XPATH> //*[contains(@id, "cf-chl-widget")] >FRAME> >XPATH> //*[@class="ctp-checkbox-label"]/inputчеёрт, чтобы многопоток, чтобы обмениваться данными между потоками глобальные переменные или ресурсы, чтобы в каждом потоке выполнять определенную функцию получать номер потока и в зависимости от номера потока выполнять соответствующую ему функцию, или ресурсы, если до запуска потоков нужнно чтото сделат/инициализировать онеапликейшен.
в это случае количество потоков должно сответствоывать количеству функций желательно. каждый поток может породить поток но лучше так не делать пока не прекрощаешь задовать вопросы. почему я должет смотреть десятки часов видео я конечно не буду а они нет
@Krotiki said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@ruzne Вам по письму и изложению еще долго до адекватности. Каждый мастер в своем деле.
Если кто-то готов помочь, напишите, я заплачу сколько потребуется, но мне нужно именно решение.
дак какой вопрос и такой.
в чем проблема, какие выдает ошибки, пример не работающего скрипта.
@Krotiki У меня сейчас нет времени накидать скрипт именно по вашему вопросу, но такие вещи делаются успешно, и у меня есть пример скрипта для подобных ситуаций. Прямо вашу проблему он не решает, но точно демонстрирует пути решения.
Мой пост в англоязычной части форума: http://community.bablosoft.com/topic/3776/calling-different-function-in-threads/14# В нем скрипт.
Если нужно доп демо или сделать работу - пишите в личку.
@Krotiki said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@Denis_krsk Не работает. Сделал все как в схеме, все равно ошибка. Плюс у меня 1 поток - 1 функция, я использовал определения номера потока через "==", а не больше/меньше, правда наврядли из-за этого

тебе советую использовать ресурсы для этой цели
@GamiD said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@ruzne вроде он из списка берется же данные а глобальный список не возможно сделать ну может и можно через JS
почему?
создать список
наполнить список
создать глобальную переменную
->сюда
присвоить глобальной переменной список
при каждом изменении списка ->туда
@ruzne, если точнее, то ещё
-читать глобальную переменную со списком в локальную
-изменять список
-сохранять локальный список в глобальную переменную
При этом не прерывать блокировку глобальной переменной асинхронными действиями, такими как вывод чего либо в лог.
@Antonio said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
@ruzne, если точнее, то ещё
-читать глобальную переменную со списком в локальную
-изменять список
-сохранять локальный список в глобальную переменнуюПри этом не прерывать блокировку глобальной переменной асинхронными действиями, такими как вывод чего либо в лог.
именно, и чтобы дожувать для большего понимания, нужно учитывать что копируется именно значение переменной, а не что было бы удобнее указатель, в новом потоке нужно коприровать обратно в обычную переменную, потому что то что можно сделать с глобальной переменной очень ограничено. И для бульдозеристов, несмотря на копирование переменные никак не связаны и именения одной не влечет измениня в другой
Спасибо за ответы. По ресурсам:

@Krotiki said in Вопрос по многопоточности. Запуск потока после сбора нужных данных:
Здесь как сделать "ANSWER_BACK_1" глобальной?
Попробуйте в OnApplicationStart инициализировать глобальную переменную. И в коде этой глобальной переменной присвоить значение локальной переменной ANSWER_BACK_1. Дальше глобальная переменная будет как посредник между глобальной и локальной областью. Когда нужно считываем с нее значение в локалку, когда нужно пишем в нее с локалки в глобалку.