我对锁定有点困惑。具体来说,这段代码来自维基百科,关于消费者生产者问题。
http://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem#Example_in_C.2B.2B
如果有超过 1 个生产者等待添加到队列中会发生什么?如果消费者从队列中消费了一些作业并发出通知以指示队列未满,他们都会尝试将作业推送到队列中,这需要 queue.push 方法是线程安全的。由于他们都可以修改队列,因此此代码可能会中断。我错过了什么吗?
我对锁定有点困惑。具体来说,这段代码来自维基百科,关于消费者生产者问题。
http://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem#Example_in_C.2B.2B
如果有超过 1 个生产者等待添加到队列中会发生什么?如果消费者从队列中消费了一些作业并发出通知以指示队列未满,他们都会尝试将作业推送到队列中,这需要 queue.push 方法是线程安全的。由于他们都可以修改队列,因此此代码可能会中断。我错过了什么吗?