Последний активный поток



  • Добрый день, знатоки. Вопрос: есть проект, он работает в 10 потоков. В конце текста программы хочу определить последний поток заканчивает работу или нет, так как надо, что бы после того как отработает программ и используются все ресурсы создать файл. Продолжительность работы потоков разная. К примеру - первый поток взял первую строку из ресурса и работает с ней. А другие потоки уже все оставшиеся стоки ресурса обработали.
    Еще как вариант, как поймать событие когда поток обращается к ресурсу, а ресурс пуст?
    Благодарю за внимание.



  • @xozain said in Последний активный поток:

    Добрый день, знатоки. Вопрос: есть проект, он работает в 10 потоков. В конце текста программы хочу определить последний поток заканчивает работу или нет, так как надо, что бы после того как отработает программ и используются все ресурсы создать файл. Продолжительность работы потоков разная. К примеру - первый поток взял первую строку из ресурса и работает с ней. А другие потоки уже все оставшиеся стоки ресурса обработали.
    Еще как вариант, как поймать событие когда поток обращается к ресурсу, а ресурс пуст?
    Благодарю за внимание.

    используйте действие "Вызов функции в несколько потоков", оно будет завершено только тогда, когда завершатся все вызванные потоки. После этого можете добавлять любые необходимые действия



  • @Fox Спасибо, это действительно мне может помочь, но надо переписывать много текста. А нет ли функции, которая бы показывала сколько потоков работает (активны, или в простое)?



  • @xozain said in Последний активный поток:

    @Fox Спасибо, это действительно мне может помочь, но надо переписывать много текста. А нет ли функции, которая бы показывала сколько потоков работает (активны, или в простое)?

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



  • @Fox Благодарю за помощь. Об этом я не подумал. а подскажите, я правильно понимаю, что main мне надо будет в один поток запускать?



  • @xozain said in Последний активный поток:

    @Fox Благодарю за помощь. Об этом я не подумал. а подскажите, я правильно понимаю, что main мне надо будет в один поток запускать?

    Да


Log in to reply