Как передавать параметры в "Вызов функции в несколько потоков"



  • Есть шаблон. В нем вызываю функцию в несколько потоков. Если шаб работает в 1 поток, то можно передавать через глобальные переменные или ресурсы. Но если шаб работает в несколько потоков, то каждый поток будет перезаписывать данные в ресурсах или глобальных переменных.

    Как сделать, чтобы в каждом потоке шаблона в "вызов функции в несколько потоков" передавались свои парметры?



  • @thepappo said in Как передавать параметры в "Вызов функции в несколько потоков":

    Есть шаблон. В нем вызываю функцию в несколько потоков. Если шаб работает в 1 поток, то можно передавать через глобальные переменные или ресурсы. Но если шаб работает в несколько потоков, то каждый поток будет перезаписывать данные в ресурсах или глобальных переменных.

    Не создавайте ресурсы и глобальные переменные в вызванных потоках, а используйте созданные ранее ресурсы

    Как сделать, чтобы в каждом потоке шаблона в "вызов функции в несколько потоков" передавались свои парметры?

    Ни как. Передавать параметры функции можно только при синхронном или асинхронном вызове функции.
    Вы можете в цикле создавать потоки через вызов асинхронный функции и каждому потоку передавать любые параметры



  • @Fox а разве можно запускать асинхронный вызов функции в многопотоке?



  • @thepappo said in Как передавать параметры в "Вызов функции в несколько потоков":

    @Fox а разве можно запускать асинхронный вызов функции в многопотоке?

    а почему нет?



  • @Fox, вроде понял принцип.

    Вы можете в цикле создавать потоки через вызов асинхронный функции и каждому потоку передавать любые параметры

    А вот это не очень. В цикле, допустим, от 1 до 100, если сделать "вызов асинхронной функции" - то функция выполнится 100 раз всего? А кол-во потоков будет максимальное, какое указать в настройках экшена в "Максимальное количество асинхронных функций, выполняемых одновременно"?

    Я просто не совсем понял, где задать сколько всего раз надо выполнить асинхронную функцию. И где задать число потоков.



  • @thepappo said in Как передавать параметры в "Вызов функции в несколько потоков":

    @Fox, вроде понял принцип.

    Вы можете в цикле создавать потоки через вызов асинхронный функции и каждому потоку передавать любые параметры

    А вот это не очень. В цикле, допустим, от 1 до 100, если сделать "вызов асинхронной функции" - то функция выполнится 100 раз всего? А кол-во потоков будет максимальное, какое указать в настройках экшена в "Максимальное количество асинхронных функций, выполняемых одновременно"?

    Я просто не совсем понял, где задать сколько всего раз надо выполнить асинхронную функцию. И где задать число потоков.

    Чегось?? Перечитайте моё сообщение, вам нужен цикл и "Вызов функции асинхронно"


Log in to reply