Всем доброго дня суток!Запарил себе весь моск, не писал никогда по *Nix на С.
Есть сервис, реализованный по M$, срочно портировать надо на FreeBSD.
Описываю суть задачи:
Процесс мониторит БД (Mysql), id задачи и время на исполнение.
Делаю выборку, получаю все задачи время которых НАСТУПИЛО(!!)
Если задач нет, sleep(1)(Здесь у меня ступор, не знаю как :( )
Если есть задача или несколько(!!) ее/их надо запустить (определенная функция) в потоке на обработку.
Вопрос: Как из основного процесса, запустить одну или несколько функций, параллельно, продолжив выборку в основном потоке??
Заранее спасибо!
>Процесс мониторит БД (Mysql), id задачи и время на исполнение.
>Делаю выборку, получаю все задачи время которых НАСТУПИЛО(!!)
>Если задач нет, sleep(1)...
>Если есть задача или несколько(!!) ее/их надо запустить (определенная функция) в потоке
>на обработку.
>
>Вопрос: Как из основного процесса, запустить одну или несколько функций, параллельно, продолжив
>выборку в основном потоке??google pthreads - это если все это необходимо держать в одном процессе.
google cron - проще будет если можно запускать отдельные процессы на каждую задачу.
>google pthreads - это если все это необходимо держать в одном процессе.
>В точку!! То что надо!! Спасибо!!
>google cron - проще будет если можно запускать отдельные процессы на каждую
>задачу.Cron - умрет... точность выполнения 1 сек надо.
>>google pthreads - это если все это необходимо держать в одном процессе.
>В точку!! То что надо!! Спасибо!!Можно поискать на самом opennet'е: http://web.opennet.ru/cgi-bin/opennet/ks.cgi?mask=threads
Кстати, здесь (http://symmetrica.net/uploads/linapi/) есть две статьи из LinuxFormat о многопоточном программировании (Часть 7, 8)