前一篇文章写得实在太挫,重新来一篇. 多线程环境下生命周期的管理 多线程环境下,跨线程对象的生命周期管理会有什么挑战?我们拿生产者消费者模型来讨论这个问题. 实现一个简单的用于生产者消费者模型的队列 生产者消费者模型的基本结构如下图所示: 如果我们要实现这个队列该怎么写?首先我们先简单挖掘下这个队列的一些基本需求. 显而易见,这个队列需要支持多线程并发读写. 我们知道,多线程并发读写同一个对象,需要对读写操作进行同步以避免data race[1].在C++11里,我们可以借助mutex. 另外当…