URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7128
[ Назад ]

Исходное сообщение
"Запуск функции в фоновом режиме"

Отправлено M O R P H E U S , 28-Янв-08 17:49 
Всем доброго дня суток!

Запарил себе весь моск, не писал никогда по *Nix на С.

Есть сервис, реализованный по M$, срочно портировать надо на FreeBSD.

Описываю суть задачи:

Процесс мониторит БД (Mysql), id задачи и время на исполнение.
Делаю выборку, получаю все задачи время которых НАСТУПИЛО(!!)
Если задач нет, sleep(1)

(Здесь у меня ступор, не знаю как :( )

Если есть задача или несколько(!!) ее/их надо запустить (определенная функция) в потоке на обработку.

Вопрос: Как из основного процесса, запустить одну или несколько функций, параллельно, продолжив выборку в основном потоке??

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Запуск функции в фоновом режиме"
Отправлено elvenic , 28-Янв-08 18:33 

>Процесс мониторит БД (Mysql), id задачи и время на исполнение.
>Делаю выборку, получаю все задачи время которых НАСТУПИЛО(!!)
>Если задач нет, sleep(1)

...

>Если есть задача или несколько(!!) ее/их надо запустить (определенная функция) в потоке
>на обработку.
>
>Вопрос: Как из основного процесса, запустить одну или несколько функций, параллельно, продолжив
>выборку в основном потоке??

google pthreads - это если все это необходимо держать в одном процессе.

google cron - проще будет если можно запускать отдельные процессы на каждую задачу.


"Запуск функции в фоновом режиме"
Отправлено M O R P H E U S , 28-Янв-08 19:44 
>google pthreads - это если все это необходимо держать в одном процессе.
>

В точку!! То что надо!! Спасибо!!

>google cron - проще будет если можно запускать отдельные процессы на каждую
>задачу.

Cron - умрет... точность выполнения 1 сек надо.


"Запуск функции в фоновом режиме"
Отправлено phpcoder , 29-Янв-08 12:36 
>>google pthreads - это если все это необходимо держать в одном процессе.
>В точку!! То что надо!! Спасибо!!

Можно поискать на самом opennet'е: http://web.opennet.ru/cgi-bin/opennet/ks.cgi?mask=threads

Кстати, здесь (http://symmetrica.net/uploads/linapi/) есть две статьи из LinuxFormat о многопоточном программировании (Часть 7, 8)