Здравствуйте.
Подскажите пожалуйста, какими средствами сделать: есть несколько потоков Task1..TaskN, которые кладут данные в одну очередь, обрабатываемую потоком DoTask. Все потоки Task1..TaskN запихивают данные в очередь через один метод класса, содержащего DoTask. При этом надо чтоб каждая из задач дождалась обработки своих данных в очереди. Как это сделать? Пока что придумал только вместе с данными запихивать в очередь указатель на семафор и время его жизни, но для этого надо либо использовать heap2-3 или переделать семафор чтоб он располагался в стеке создающего его потока. Но хочется heap1 и без переделок.
Спасибо.