@Fox А пробовали GPU задействовать? если да то как это можно сделать
Возможно ли так получать глобальную переменную?
-
Скрипт работает в несколько потоков.
Есть глобальная переменная, которая меняется время от времени (рандомные промежутки).Существует ли такая возможность в БАС не строить такой алгоритм работы
кубик
запросить переменную
кубик
запросить переменную
кубик
запросить переменнуюТ.е. есть ли возможность у любого из потоков "постоянного" наблюдения за значением переменной без обращения к ней?
ps или при изменении переменной в поток приходит сигнал .... -
@tet-vivi said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
"постоянного" наблюдения за значением переменной без обращения к ней?
нет. в данной комплектации нету. разве что заказать кому сделать на c++, возможно.
заказываю. кто может сделать - пишите.
-
@kuzkuz said in Возможно ли так получать глобальную переменную?:
Скрипт работает в несколько потоков.
Есть глобальная переменная, которая меняется время от времени (рандомные промежутки).Существует ли такая возможность в БАС не строить такой алгоритм работы
кубик
запросить переменную
кубик
запросить переменную
кубик
запросить переменнуюТ.е. есть ли возможность у любого из потоков "постоянного" наблюдения за значением переменной без обращения к ней?
ps или при изменении переменной в поток приходит сигнал ....Можно изменить функцию _sa() что бы после каждого действия проверялась глобальная переменная, но проблема в том, что функция синхронная и добавить какие либо асинхронные действия BAS в неё не получится.
Так же можете использовать цикл "while" с условием из глобальной переменной, это условие будет проверятся перед каждой итерацией. -
@tet-vivi said in Возможно ли так получать глобальную переменную?:
@kuzkuz а во время
"постоянного" наблюденияпоток что-то должен делать?Поток должен делать много чего, перебирать урл-ы, загружать нужные, брать данные
что должно происходить при изменении переменной?
перенастраивать браузер
-
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox ваши примеры мне интересны, но не понятны пока что.
В посте выше описано что мне нужно - то что вы описали, может мне помочь?Нет, но я думаю тут нужно смотреть на изначальную задачу. Может вам проще будет вызывать функции асинхронно и прерывать их в случае смены ip
-
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox ваши примеры мне интересны, но не понятны пока что.
В посте выше описано что мне нужно - то что вы описали, может мне помочь?Нет, но я думаю тут нужно смотреть на изначальную задачу. Может вам проще будет вызывать функции асинхронно и прерывать их в случае смены ip
Есть список урл, потоки их перебирают. Если урл соответствует некой маске, поток заходит, берет код страницы, грузит страницу (обязательное условие).
и тут начинается проблема в периодах вызова функции проверки ip
вызывать каждую секунду, три секунды, 5 или 20 сек...
и это я описал простой алгоритм из 5 кубиков, а если кубиков 300 -
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox ваши примеры мне интересны, но не понятны пока что.
В посте выше описано что мне нужно - то что вы описали, может мне помочь?Нет, но я думаю тут нужно смотреть на изначальную задачу. Может вам проще будет вызывать функции асинхронно и прерывать их в случае смены ip
Есть список урл, потоки их перебирают. Если урл соответствует некой маске, поток заходит, берет код страницы, грузит страницу (обязательное условие).
и тут начинается проблема в периодах вызова функции проверки ip
вызывать каждую секунду, три секунды, 5 или 20 сек...ни чего не понял. Если вы грузите страницу, зачем вам проверять глобальную переменную?
-
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox ваши примеры мне интересны, но не понятны пока что.
В посте выше описано что мне нужно - то что вы описали, может мне помочь?Нет, но я думаю тут нужно смотреть на изначальную задачу. Может вам проще будет вызывать функции асинхронно и прерывать их в случае смены ip
Есть список урл, потоки их перебирают. Если урл соответствует некой маске, поток заходит, берет код страницы, грузит страницу (обязательное условие).
и тут начинается проблема в периодах вызова функции проверки ip
вызывать каждую секунду, три секунды, 5 или 20 сек...ни чего не понял. Если вы грузите страницу, зачем вам проверять глобальную переменную?
в глобальной переменной ip прокси.
если она поменялась, надо обновить настройки браузера.
так понятнее? -
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox ваши примеры мне интересны, но не понятны пока что.
В посте выше описано что мне нужно - то что вы описали, может мне помочь?Нет, но я думаю тут нужно смотреть на изначальную задачу. Может вам проще будет вызывать функции асинхронно и прерывать их в случае смены ip
Есть список урл, потоки их перебирают. Если урл соответствует некой маске, поток заходит, берет код страницы, грузит страницу (обязательное условие).
и тут начинается проблема в периодах вызова функции проверки ip
вызывать каждую секунду, три секунды, 5 или 20 сек...ни чего не понял. Если вы грузите страницу, зачем вам проверять глобальную переменную?
в глобальной переменной ip прокси.
если она поменялась, надо обновить настройки браузера.
так понятнее?Немного понятнее. Для чего обновлять настройки браузера? Ведь если сменился ip, то работу лучше прекратить и начать по новой. В этом плане идеально подходит асинхронный вызов функции
-
@Fox said in Возможно ли так получать глобальную переменную?:
Немного понятнее. Для чего обновлять настройки браузера? Ведь если сменился ip, то работу лучше прекратить и начать по новой. В этом плане идеально подходит асинхронный вызов функции
Хорошо. Сейчас опишу подробно
Берем урл. Загружаем в браузере. Далее 150 кубиков неких действий с урл/браузером. Манипуляции которые в 1 сек не уложить. Нужно делать что то 5 сек, что то 30 сек, что то 3 минуты.
ps то что больше 5 сек можно зациклить по 5 сек, чтобы если нужно что то делать между циклами делалось.... но это не важно....Вопрос только в том
Как в данном случае своевременно получать инфу о том что ip сменился и прерывать поток? -
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox said in Возможно ли так получать глобальную переменную?:
Немного понятнее. Для чего обновлять настройки браузера? Ведь если сменился ip, то работу лучше прекратить и начать по новой. В этом плане идеально подходит асинхронный вызов функции
Хорошо. Сейчас опишу подробно
Берем урл. Загружаем в браузере. Далее 150 кубиков неких действий с урл/браузером. Манипуляции которые в 1 сек не уложить. Нужно делать что то 5 сек, что то 30 сек, что то 3 минуты.
ps то что больше 5 сек можно зациклить по 5 сек, чтобы если нужно что то делать между циклами делалось.... но это не важно....Вопрос только в том
Как в данном случае своевременно получать инфу о том что ip сменился и прерывать поток?При асинхронном вызове функции вы можете прервать поток из вне. В первом потоке вы вызываете необходимое количество функций в цикле и записываете их id в массив. Далее циклом проверяете внешний ip, если ip сменился, прерываете необходимые функции по id и запускаете их снова уже с новыми данными (ip и другую информацию можно передать через атрибуты функции, это проще, чем через глобальную переменную)
-
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox Хорошо.
А если поток нельзя прерывать при условии что урл загружен в браузер - это усложняет задачу?
В таком случае надо обновить настройки браузера, но продолжить работу потока.в таком случае только циклическая проверка с глобальной переменной
-
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox Хорошо.
А если поток нельзя прерывать при условии что урл загружен в браузер - это усложняет задачу?
В таком случае надо обновить настройки браузера, но продолжить работу потока.в таком случае только циклическая проверка с глобальной переменной
Как в данном случае своевременно получать инфу о том что ip сменился ? Только гадать, поставить через каждый кубик получение инфы о глобальной переменной?
-
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox said in Возможно ли так получать глобальную переменную?:
@kuzkuz said in Возможно ли так получать глобальную переменную?:
@Fox Хорошо.
А если поток нельзя прерывать при условии что урл загружен в браузер - это усложняет задачу?
В таком случае надо обновить настройки браузера, но продолжить работу потока.в таком случае только циклическая проверка с глобальной переменной
Как в данном случае своевременно получать инфу о том что ip сменился ? Только гадать, поставить через каждый кубик получение инфы о глобальной переменной?
Давайте рассуждать логически, вам нужно в зависимости от значения переменной произвести какие то действия, так? Значит что то должно периодически сверять глобальную и локальную переменную.
Например есть функция _sa(), которая вызывается после каждого действия автоматически, эту функцию можно изменить и вставить в неё прерывание потока в зависимости от условия. Но это сработает только в режиме "запуска", а в режиме "записи" просто повесит BAS.Мне подсказывает опыт, что задача решается не с того конца. Проще было бы самому менять внешний ip, когда отработали потоки.