在苹果的并发编程指南中的“迁移线程”一节中,有一个名为更改生产者-消费者实现的部分,声称可以使用GCD简化典型的多步骤pthread mutex +条件变量实现。通过使用调度队列,您可以将生产者和消费者的实现简化为单个调用。
当您的生产者有工作要完成时,它只需将该工作添加到队列中,让队列处理该项任务。
生产者-消费者问题也被称为有界缓冲区问题,然而上述内容未提及缓冲区、其边界或消费者,更不用说阻塞生产者和消费者以避免过度/欠载。
这怎么可能是有效的解决方案呢?
dispatch_async(queue, ^{
// Process a work item.
});
当您的生产者有工作要完成时,它只需将该工作添加到队列中,让队列处理该项任务。
生产者-消费者问题也被称为有界缓冲区问题,然而上述内容未提及缓冲区、其边界或消费者,更不用说阻塞生产者和消费者以避免过度/欠载。
这怎么可能是有效的解决方案呢?