Цитата(Sagittarius @ Sep 25 2012, 17:13)

Здравствуйте.
... есть несколько потоков Task1..TaskN, которые кладут данные в одну очередь, обрабатываемую потоком DoTask. Все потоки Task1..TaskN запихивают данные в очередь
А что мешает на каждый Task1..TaskN сделать отдельную очередь?
Цитата
При этом надо чтоб каждая из задач дождалась обработки своих данных в очереди. Как это сделать?
TaskN дожидается пока ёвная очередь станет пустой, только после этого помещает новые данные. DoTask берёт данные из очереди методом xQueuePeek не удаляя их из очереди. после обработки удаляем данные из очереди, тем самым позволяя TaskN помещать туда новые данные.