2019年5月4日

只使用非递归的mutex

摘要: mutex分为递归(以下简写为rm)和非递归(以下简写为nrm)两种,它们的唯一区别在于:同一个线程可以重复对rm加锁,但是不能重复对nrm加锁。 虽然rm使用起来要更加方便一些,并且不用考虑一个线程将自己锁死的问题,但是它可能会隐藏代码中的一些问题。例如:自以为拿到一个锁可以对对象进行修改时,外层 阅读全文

posted @ 2019-05-04 16:22 YHB_DRIVER 阅读(154) 评论(0) 推荐(0) 编辑

2019年4月23日

对象池

摘要: 背景: 假设有一个Stock类,代表一只股票的价格,且每个股票有std::string唯一标识符。Stock对象是个主动对象,能不断获取股票的最新价格。为节省系统资源,每个程序每只出现的股票只有一个Stock对象。如果多处用到一只股票,那么Stock对象要被共享,如果这只股票没有被用到,那么对应的S 阅读全文

posted @ 2019-04-23 16:53 YHB_DRIVER 阅读(162) 评论(0) 推荐(0) 编辑

导航