Добрый день.
Представляю маленькую, кросс платформенную (тестировалось в Linux и NetBSD) библиотеку функций и пример ее использования.
Основная задача — облегчить разработку скриптов на shell, выполняющих несколько параллельных, независимых задач и обеспечить синхронизацию запущенных процессов.
Структура программы при использование данной библиотеки выглядит следующим образом:
Основной процесс – подготавливает задания и распределяет их по рабочим процессам.
Рабочие процессы — выполняют эти задания и сообщают о своей готовности принять новое основному процессу.
Основное преимущество данной схемы в том, что нет постоянного разветвления процессов (fork()).
Я не претендую на оригинальность идеи, да и реализации тоже, но я надеюсь, что это будет познавательно и интересно.
Читать полностью »