Неправильно решение Apple doc GCD «Производитель-Потребитель»?

В разделе Migrating Away from Threads Руководства по программированию параллелизма Apple есть
Changing Producer-Consumer Implementations , в котором утверждается, что типичный многоступенчатый pthread Реализацию переменной mutex + condition можно упростить с помощью GCD.

С помощью очередей отправки вы можете упростить реализации производителя и потребителя одним вызовом:

dispatch_async(queue, ^{
  // Process a work item.
});

Когда у вашего производителя есть работа, все, что ему нужно сделать, это добавить эту работу в очередь и позвольте очереди обработать элемент.

Проблема "производитель-потребитель" также известна как проблема ограниченного буфера, однако выше не упоминается буфер, его привязка или потребитель, не говоря уже о блокировании производителя и потребителя во избежание чрезмерного / недостаточного выполнения.

Как это может быть верным решением?

16
задан Rhythmic Fistman 31 October 2011 в 07:16
поделиться