LINUX.ORG.RU

Сообщения xin

 

Ожидание любого завершившегося потока

Форум — Development

Здравствуйте! В ходе реализации программы (Алгоритм программы состоит в том, чтобы количество созданных потоков не превышало заданного количества) возникла необходимость в функции, которая приостанавливала бы «родительский» поток, пока не завершится любой из созданный «дочерних». (что-то наподобие wait() в процессах). Смотрел в сторону pthread_join, но она ожидает завершения потока с определенным tid, что не подходит. Может кто-нибудь сталкивался с подобного рода ситуацией и может подсказать что-нибудь по этому поводу?

привожу кусок кода:

if (thread_str_data.pN == config.Nprocess)
{
          printf("Ждем\n");
          
}
else
{
          ++thread_str_data.pN;
         /* данных для потока*/
         data.pathfile1 = top -> path;
         data.pathfile2 = top1 -> path;
         data.size = top -> size;
         /*запускаем поток*/
         pthread_create(&tid, NULL, &thread_func, &data);
}

 ,

xin
()

RSS подписка на новые темы