Я бы сделал так:
Создал бы пул очередей (10 штук), на каждую запустил бы по потоку, который бы ждал сообщения из очереди и запускал бы нужный запрос. А в основном потоке раз в 0.2 секунды пулял бы по 1 запросу в одну очередь в цикле, на каждой итерации переходя к следующей очереди. Итого, все запросы координируются через общий "писатель", а "читатели" обрабатывают ответы каждый в своем потоке.