| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > потоки + ожидание завершения |
| Автор: chaos 28.11.2006, 08:09 |
| Здрасте!!! Встала задача запускать много потоков(не больше N) если кол-во запущеных потоков = N необходимо прекратить запуск потоков и перейти в ожидание завершения какого-нибудь из уже запущеных. нашел только pthread_join но она как бы не совсем подходит. необходим некий аналог виндовой WaitForMultipleObjects ни чего подобного не нашел Подскажите знатоки как обычно в *nix'ах решают подобные задачи Заранее благодарен! |
| Автор: dumb 28.11.2006, 08:26 |
| http://www.opennet.ru/base/dev/linux_semaphore.txt.html http://users.actcom.co.il/~choo/lupg/tutorials/multi-thread/multi-thread.html |
| Автор: chaos 28.11.2006, 08:42 |
| на улице -26 в офисе дубак. может у кого есть простенький пример PS dumb, я обязательно гляну ссылки. хочется просто быстрее |
| Автор: GrayCardinal 28.11.2006, 10:35 | ||
| Типа потоков или процессы тоже покатят ? может помочь waitpid(2). Первый аргумент - PID процесса который ждем, второй - адрес на статус (который вернется), третий опции (к примеру - WNOHANG не блокировать если нет "умерших" процессов). В принципе должно и с потоками сработать.......... Добавлено @ 10:37 <Ы>
Ждать кого-нибудь. |
| Автор: dumb 28.11.2006, 12:14 |
http://htun.runslinux.net/dist/htun-0.9.0/src/tpool.c |
| Автор: MAKCim 28.11.2006, 18:18 | ||
| chaos почему бы сигнальную переменную не использовать
|
| Автор: chaos 1.12.2006, 12:28 |
| dumb, спасибо за ссылочки - познавательно MAKCim, в итоге как раз так и сделал |