Не хочет выполнять sleep



  • Здравствуйте. Помогите плз.
    Скрипт сообщает что поток больше 1го, но почему он не хочет спать 10сек? Спасибо

    //номер потока
    [[POTOK_NUM]] = thread_number()
    
    log('старт ' + [[POTOK_NUM]])
    if ([[POTOK_NUM]] >1) {
        log('поток больше чем 1й')
        sleep(10000)!
    }
    log('поехали')
    sleep(80 * 1000)!
    log('что то там делали 80сек, финиш')
    
    [714529884] [13:25:48] Поток №1 : старт 1
    [714529884] [13:25:48] Поток №1 : поехали
    [714529884] [13:25:48] Поток №2 : старт 2
    [714529884] [13:25:48] Поток №2 : поток больше чем 1й
    [714529884] [13:25:48] Поток №2 : поехали
    [714529884] [13:25:48] Поток №3 : старт 3
    [714529884] [13:25:48] Поток №3 : поток больше чем 1й
    [714529884] [13:25:48] Поток №3 : поехали
    
    
    
    

    отдельно в коде sleep(10000)! = работает, а почему то в комплексе кода = не работает и все что за ним внутри цикла тоже



  • @kuzkuz, действия заканчивающиеся ! асинхронные, обычный if для них не работает, нужно использовать _if. И вообще если не разбираетесь лучше не писать кодом, да и если разбираетесь не стоит.



  • @kuzkuz а вынести в отдельную функцию что не получится? ) Эти ваши [[POTOK_NUM]] ладно когда сон в процессе выполнения чего то и тупо не стоит плодить переменные. А у вас старт по потокам. Кто вам запрещает? Отдельно в коде.



  • спасибо всем. пришлось сделать кубиками
    все работает как надо


Log in to reply