настало время мне вернуться к своему пакету
главное - в нем добавлен gCurlMulti, набор классов/интерфейсов для работы с curl_multi
В оригинальном виде работать с curl_multi весьма неудобно, я написал более понятную обертку из объектов. Основной принцип: создается обект Thread, который регистрируется в обертке над curl_multi_exec.
Thread содержит хендлеры, которые получают заголовки и куски body для каждого "потока".
Теперь скрипт с многопоточными запросами я могу писать за 10 минут.
Я тестировал на 50 "потоках". При оптимизации базы (для URL и данных) система упирается в пропускную способность сети, CPU usage несколько процентов (простой curl на куче запросов упирается в CPU).
http://grik.net/gCurl.tar.gz
В архиве есть примеры использования.