2014年10月7日
摘要: 生产者消费者问题是计算机中一类重要的模型,主要描述的是:生产者往缓冲区中放入产品、消费者取走产品。生产者和消费者指的可以是线程也可以是进程。 生产者消费者问题的难点在于: 为了缓冲区数据的安全性,一次只允许一个线程进入缓冲区,它就是所谓的临界资源。 生产者往缓冲区放物品时,如果缓冲区已满,那么需要等待,一直到消费者取走产品为止。 消费者取走产品时,如果没有物品,需要等... 阅读全文
posted @ 2014-10-07 19:45 inevermore 阅读(1341) 评论(1) 推荐(0) 编辑
摘要: 我们不止一次写过这种代码: { mutex_.lock(); //XXX if(....) return; //XXX mutex_.unlock(); } 显然,这段代码中我们忘记了解锁。那么如何防止这种情况,我们采用和智能指针相同的策略,把加锁和解锁的过程封装在一个对象中。 实现“对象生命期”等于“加锁周期”。 代码... 阅读全文
posted @ 2014-10-07 19:19 inevermore 阅读(546) 评论(0) 推荐(1) 编辑