@sergerdn
понял,
надо было запускать 10 потоков, открывать 10 портов на прокси сервисе, и каждому потоку присвоить свой порт для дальнейшей работы в цикле
ну мы решили вопрос через глобальные списки вроде, получилось
@kroda said in OnApplicationStart крашится:
@Fox said in OnApplicationStart крашится:
А что вы вообще пытаетесь сделать? Функция OnApplicationStart выполняется один раз, в один поток, до старта всех остальных потоков
Да, я совсем забыл...
Хотел чтобы потоки на старте работы включались в разное время, тоесть задержка стояла 1 раз и больше в скрипте ее никогда не было
Идей кроме как сделать костыль вида:if [[переменная]] == "скрипт запускается первый раз" [[timeout]]А еще таким образом нельзя завершать потоки :(
@FastSpace @Fox Да я понимаю что можно и так и сяк поставить задержку между потоками в начале работы потока, а мне хотелось 1 раз в начале работы скрипта
Попробовал сделать так, итог краш, я уже не понимаю, я же создал глобальные переменные:
Почему так?
@kroda Мой способ и есть 1 раз в начале работы скрипта между потоками. Все потоки стартнут 1 раз плавно и аккуратно. В конце глобальная переменная ставиться выше значения самого максимального потока и больше не работает.
Можно переделать если надо по 10 потоков запускать. Дополнительное условие в мой способ добавить, что если поток равен 10, то дополнительно подождать.
@kroda said in OnApplicationStart крашится:
Почему так?
Вы бы скрипт приложили, потомучто проблема может в чем угодно!
@FastSpace said in OnApplicationStart крашится:
Мой способ и есть 1 раз в начале работы скрипта между потоками. Все потоки стартнут 1 раз плавно и аккуратно. В конце глобальная переменная ставиться выше значения самого максимального потока и больше не работает.
Так вы обрезали сверху чему равно [[глобал:лок1]] и [[глобак:лок2]]. Чтобы после завершения потока (зеленая надпись succes) - поток снова не присваивал [[глобал:лок1]] и [[глобак:лок2]] те же самые значения, и снова (в начале потока) не делал задержку, нужно установить переменные в OnApplicationStart. Я установил в OnApplicationStart только лишь одну переменную и этого хватило для краша.
@UserTrue said in OnApplicationStart крашится:
Вы бы скрипт приложили, потомучто проблема может в чем угодно!
1 глобальную переменную и 2 условия трудно назвать скриптом, но вот:
123123.xml
@kroda said in OnApplicationStart крашится:
@FastSpace said in OnApplicationStart крашится:
Мой способ и есть 1 раз в начале работы скрипта между потоками. Все потоки стартнут 1 раз плавно и аккуратно. В конце глобальная переменная ставиться выше значения самого максимального потока и больше не работает.
Так вы обрезали сверху чему равно [[глобал:лок1]] и [[глобак:лок2]]. Чтобы после завершения потока (зеленая надпись succes) - поток снова не присваивал [[глобал:лок1]] и [[глобак:лок2]] те же самые значения, и снова (в начале потока) не делал задержку, нужно установить переменные в OnApplicationStart. Я установил в OnApplicationStart только лишь одну переменную и этого хватило для краша.
Они равны нулю и нарастают по мере увеличения потоков. В OnApplicationStart на моем скрине должно быть всего 2 переменные.
@kroda А зачем вы поставили вложенное условие?
У вас же в таком случае лочить будет только первый поток. Потому у вас бас и вылетает, у вас все потоки мгновенно завершаются и снова запускаются, получается зацикливание
Вот, если я вас правильно понял
123123.xml
@FastSpace said in OnApplicationStart крашится:
Они равны нулю и нарастают по мере увеличения потоков. В OnApplicationStart на моем скрине должно быть всего 2 переменные
Да, всем большое спасибо, все способы крутые, все получилось
@UserTrue said in OnApplicationStart крашится:
А зачем вы поставили вложенное условие?
У вас же в таком случае лочить будет только первый поток.
Да я сначала сделал как оператор выше (так же как и Вы), а потом когда стало все крашиться начал уже экспериментировать добавлять какие-то условия.
@UserTrue said in OnApplicationStart крашится:
Потому у вас бас и вылетает, у вас все потоки мгновенно завершаются и снова запускаются, получается зацикливание
Да, но каждый раз в шоке с этого от баса. Почему некоторые работы он делает как нужно. А некоторые как у меня есть 1 простенький скрипт, там ничего кроме работы с текстом нет, в 1 поток, потому что список. И вот если туда загрузить 10к строк, он не будет брать каждую строку с ресурса и работать с ней в списке. Бас попытается разом взять 10к строк и обработать их залпом в 1 поток, мгновенно. Итог: краш.
Я даже прикола ради - добавил гет запрос на админку своего вай-фай роутера и все сразу заработало как надо, строки ресурса стали обрабатываться по очереди
Добавить 100 мс. задержку вообще не вариант, потому что это очень долго в сравнении если добавить в работу с текстом любой (ненужный) запрос.
@kroda said in OnApplicationStart крашится:
Почему некоторые работы он делает как нужно
Видимо вы просто не умеете его готовить )))