@Grow said in XPATH не разбирает XML [Решено. Прошу разработчиков учесть в обновлениях]:
Прошу разработчиков учесть момент.
Хорошо, думаю все разработчики учтут этот момент.. А вообще про регистр в модуле xpath уже поднимали темы
Здравствуйте! Прошу помочь с организацией очереди между потоками.
Задача такая: есть несколько потоков, которые подключаются к прокси. Как только один из потоков начинает подключение, должна сработать пауза 15 секунд прежде чем другой поток начнет подключение к прокси. Осложняет все то что потоки иногда могут запросить подключение к прокси одновременно и в это время их нужно выстроить в очередь. Некоторые варианты я представляю, например можно выделить отдельный поток на создания листа и через глобальные переменные сообщать готовность потока к подключению. Но тут уже возникают другие вопросы, например как выделить в глобальной переменной название потока и т.д. Возможно задача не такая уж и сложная, но все равно было бы интересно прочитать возможные варианты реализации. Некоторое логическое представление уже было бы очень полезно.
@spacerange said in Организация очереди между потоками:
Здравствуйте! Прошу помочь с организацией очереди между потоками.
Задача такая: есть несколько потоков, которые подключаются к прокси. Как только один из потоков начинает подключение, должна сработать пауза 15 секунд прежде чем другой поток начнет подключение к прокси. Осложняет все то что потоки иногда могут запросить подключение к прокси одновременно и в это время их нужно выстроить в очередь. Некоторые варианты я представляю, например можно выделить отдельный поток на создания листа и через глобальные переменные сообщать готовность потока к подключению. Но тут уже возникают другие вопросы, например как выделить в глобальной переменной название потока и т.д. Возможно задача не такая уж и сложная, но все равно было бы интересно прочитать возможные варианты реализации. Готвое решение не нужно, а лишь некоторое логическое представление уже было бы очень полезно.
@Fox Забавно, я сделал все тоже самое как у вас, но у меня потоки иногда все равно подключались вместе. И скорее всего дело было в том что я пытался создавать глобальную переменную на старте каждого потока с отслеживанием первого запуска, возможно там я где то ошибся. В вашем же примере переменная создается в OnApplicationStart, попробую применить это в своем скрипте, спасибо!
@spacerange said in Организация очереди между потоками:
@Fox Хотя нет, похоже что проблема в том что While при изменении глобальной переменной сразу выпускает из цикла все потоки одновременно которые находятся на ожидании.
Эмм? Вы про мой скрипт или про свой? Я мельком тестировал свой вариант, ошибок не было
@Fox said in Организация очереди между потоками:
@spacerange said in Организация очереди между потоками:
@Fox Хотя нет, похоже что проблема в том что While при изменении глобальной переменной сразу выпускает из цикла все потоки одновременно которые находятся на ожидании.
Эмм? Вы про мой скрипт или про свой? Я мельком тестировал свой вариант, ошибок не было
Да я сам что - то не пойму, у меня в скрипте тоже самое один в один, запускаю свой у меня во время подключения стартует сразу несколько потоков, в вашем вроде такого нет. Может заработался, постараюсь разобраться.
@Fox said in Организация очереди между потоками:
@spacerange said in Организация очереди между потоками:
@Fox Хотя нет, похоже что проблема в том что While при изменении глобальной переменной сразу выпускает из цикла все потоки одновременно которые находятся на ожидании.
Эмм? Вы про мой скрипт или про свой? Я мельком тестировал свой вариант, ошибок не было
Немного переместил таймеры и все заработало, ещё раз спасибо.
@xtra Да, можно и через ресурсы похожее настроить, но в моем случае есть некоторые условия по которым данный способ не подходит. Например если поставить паузу между использованиями, то BAS выдаст свободную строчку потоку, а мне нужно чтобы все остальные потоки ждали пока подключается один.