C++怎么将mutex和被保护数据一起定义

本篇内容介绍了“C++怎么将mutex和被保护数据一起定义”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我们提供的服务有:网站设计制作、成都做网站、微信公众号开发、网站优化、网站认证、达坂城ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的达坂城网站制作公司

CP.50:将mutex和被保护数据一起定义,如果可能使用

synchronized_value

Reason(原因)

It should be obvious to a reader that the data is to be guarded and how. This decreases the chance of the wrong mutex being locked, or the mutex not being locked.

数据被保护的事实以及如何被保护对于代码的读者来讲都应该是显而易见的。这可以减少锁定错误的mutex或者没有锁定正确的mutex的可能性。

Using a synchronized_value ensures that the data has a mutex, and the right mutex is locked when the data is accessed. See the WG21 proposal to add synchronized_value to a future TS or revision of the C++ standard.

使用synchronized_value可以保证数据带锁,并且数据被访问时锁定正确的mutex。参见意在向将来的技术规格或标准C++的某个版本增加synchronized_value功能的WG21。

Example(示例)

struct Record {
   std::mutex m;   // take this mutex before accessing other members
   // ...
};

class MyClass {
   struct DataRecord {
      // ...
   };
   synchronized_value data; // Protect the data with a mutex
};

“C++怎么将mutex和被保护数据一起定义”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文名称:C++怎么将mutex和被保护数据一起定义
网页地址:http://myzitong.com/article/pgdihj.html