Разное количество потоков для каждого режима



  • Добрый день!Делаю многофункциональный скрипт-комбайн с выбором режима(скрипта),и столкнулся с проблемой,что для каждого из них требуется разное количество потоков.
    Пробовал создать два одинаковых ресурса именем threads,с видимостью для каждого режима,не помогло,берет данные только из первого ресурса.
    Как ограничить в интерфейсе скрипта,чтоб для каждого режима можно было указать разное количество потоков?



  • @sir-ydroidrrr said in Разное количество потоков для каждого режима:

    Добрый день!Делаю многофункциональный скрипт-комбайн с выбором режима(скрипта),и столкнулся с проблемой,что для каждого из них требуется разное количество потоков.
    Пробовал создать два одинаковых ресурса именем threads,с видимостью для каждого режима,не помогло,берет данные только из первого ресурса.
    Как ограничить в интерфейсе скрипта,чтоб для каждого режима можно было указать разное количество потоков?

    https://community.bablosoft.com/topic/3521/лайфхаки-bas/30

    RMap('toster').at(0) == 'tost' ? 2 : 5
    


  • @fox годится,но вот только этого не пойму:

    RMap('threads').at(0) == '1' ? 1 : (а как поменять эту цифру из интерфейса,если сегодня нужно к примеру 15,а завтра 40?)
    


  • @sir-ydroidrrr said in Разное количество потоков для каждого режима:

    @fox сгодится,но вот только этого не пойму:

    RMap('threads').at(0) == '1' ? 1 : (а как поменять эту цифру из интерфейса,если сегодня нужно к примеру 15,а завтра 40?)
    

    тут не в этом смысл, берётся метод для работы с ресурсом и проверяется его содержимое, скажем ресурс называется method, тип ресурса "список" с двумя значениями duo и quadro.

    RMap('method') //возвращает объект, который имеет несколько полезных методов
    RMap('method').at(0) //получаем элемент по индексу
    RMap('method').at(0) == 'duo' ? 2 : 4 //создали условие, если в ресурсе "method" указана строка "duo", то вернуть 2 потока, иначе 4 потока.
    


  • Fox'а как обычно понесло куда-то в дебри ))))
    делаешь всё также, но режимы делишь на разные уровни и ставишь у каждого потоки. У каждого режима будут РАЗНОЕ число потоков.
    alt text
    alt text



  • @fastspace said in Разное количество потоков для каждого режима:

    Fox'а как обычно понесло куда-то в дебри ))))
    делаешь всё также, но режимы делишь на разные уровни и ставишь у каждого потоки

    Я просто предложил вариант и объяснил как он работает. Можно сделать несколько условий прямо в скрипте и менять количество потоков в "вызове функции в многопотоке"



  • @fox said in Разное количество потоков для каждого режима:

    @fastspace said in Разное количество потоков для каждого режима:

    Fox'а как обычно понесло куда-то в дебри ))))
    делаешь всё также, но режимы делишь на разные уровни и ставишь у каждого потоки

    Я просто предложил вариант и объяснил как он работает. Можно сделать несколько условий прямо в скрипте и менять количество потоков в "вызове функции в многопотоке"

    А не проще ресурс потоки вынести за пределы всех режимов? :D



  • @fastspace said in Разное количество потоков для каждого режима:

    @fox said in Разное количество потоков для каждого режима:

    @fastspace said in Разное количество потоков для каждого режима:

    Fox'а как обычно понесло куда-то в дебри ))))
    делаешь всё также, но режимы делишь на разные уровни и ставишь у каждого потоки

    Я просто предложил вариант и объяснил как он работает. Можно сделать несколько условий прямо в скрипте и менять количество потоков в "вызове функции в многопотоке"

    А не проще ресурс потоки вынести за пределы всех режимов? :D

    Всё зависит от конкретных целей. Был у меня случай, когда при одном значении ресурса мне нужно было увеличить количество потоков на 1, чтобы сделать из него технический поток. Объяснять всё пользователю не всегда удобно, по этому решил по своему с RMap().

    Вот пример с "вызовом функции в многопотоке"



  • @fox said in Разное количество потоков для каждого режима:

    @fastspace said in Разное количество потоков для каждого режима:

    @fox said in Разное количество потоков для каждого режима:

    @fastspace said in Разное количество потоков для каждого режима:

    Fox'а как обычно понесло куда-то в дебри ))))
    делаешь всё также, но режимы делишь на разные уровни и ставишь у каждого потоки

    Я просто предложил вариант и объяснил как он работает. Можно сделать несколько условий прямо в скрипте и менять количество потоков в "вызове функции в многопотоке"

    А не проще ресурс потоки вынести за пределы всех режимов? :D

    Всё зависит от конкретных целей. Был у меня случай, когда при одном значении ресурса мне нужно было увеличить количество потоков на 1, чтобы сделать из него технический поток. Объяснять всё пользователю не всегда удобно, по этому решил по своему с RMap().

    Вот пример с "вызовом функции в многопотоке"

    И этот момент я предусмотрел без того танца c бубном :D Просто и легко всегда крутиться 1 технический поток по умолчанию (первый) и когда нужно он сам включиться. Всего лишь 2 строчки и вуаля.



  • @fastspace said in Разное количество потоков для каждого режима:

    но режимы делишь на разные уровни и ставишь у каждого потоки

    Ого,тоже так реализовал) Просто в целях подстраховки хочется поставить ограничение,а то забуду и перепутаю,и скрипт натворит делов,не расхлебаешь)



  • @sir-ydroidrrr said in Разное количество потоков для каждого режима:

    @fastspace said in Разное количество потоков для каждого режима:

    но режимы делишь на разные уровни и ставишь у каждого потоки

    Ого,тоже так реализовал) Просто в целях подстраховки хочется поставить ограничение,а то забуду и перепутаю,и скрипт натворит делов,не расхлебаешь)

    Можешь глобальную переменную поставить и затем сделать условие: "Если режим = x и глобальная переменная =5, то не запускать больше потоков. Итого скрипт не запустит никогда больше потоков чем глобальная переменная (в данном случае = 5) для отдельного режима.



  • @fastspace точно,не подумал как то об этом)спасибо!)


Log in to reply