shared_ptr的线程安全性
2016-05-11 23:41
267 查看
shared_ptr 的线程安全级别和内建类型、标准库容器、std::string 一样,即:
• 一个 shared_ptr 对象实体可被多个线程同时读取;
• 两个 shared_ptr 对象实体可以被两个线程同时写入,“析构”算写操作;
• 如果要从多个线程读写同一个 shared_ptr 对象,那么需要加锁;
请注意,以上是 shared_ptr 对象本身的线程安全级别,不是它管理的对象的线程安全级别。
下面是网上一些比较好的文章分析:
http://blog.csdn.net/solstice/article/details/8547547 (这篇文章十分推荐,一定要看一下)
http://my.oschina.net/costaxu/blog/103119 (这篇也可以看一下,不过最后的例子我觉得不好)
• 一个 shared_ptr 对象实体可被多个线程同时读取;
• 两个 shared_ptr 对象实体可以被两个线程同时写入,“析构”算写操作;
• 如果要从多个线程读写同一个 shared_ptr 对象,那么需要加锁;
请注意,以上是 shared_ptr 对象本身的线程安全级别,不是它管理的对象的线程安全级别。
下面是网上一些比较好的文章分析:
http://blog.csdn.net/solstice/article/details/8547547 (这篇文章十分推荐,一定要看一下)
http://my.oschina.net/costaxu/blog/103119 (这篇也可以看一下,不过最后的例子我觉得不好)
相关文章推荐
- LINUX下的几个常见的环境变量
- [shell] file
- @RequestMapping 用法详解之地址映射(转)
- 在eclipse使用中adb报错出现cannot parse version string:kg01的解决方法
- POJ 1811 Prime Test (Miller-Robin+Pollard_rho)
- 如何正确使用css中vertical-align
- HDU 2019
- 2016第20周三继续视频直播话题
- Scala学习记录-Scala是什么
- HUSTOJ 1033: 质因子分解
- TextVersion_07_Fragment相关细节
- android源码解析(二十二)-->Toast加载绘制流程
- leetcode_c++:Remove Duplicates from Sorted Array(026)
- JS函数式编程【译】5.3 单子 (Monad)
- 【具体数学 读书笔记】1.2 Lines in the Plane
- GNOME on Arch Linux
- Java中的WeakHashMap实现分析
- 多渠道打包(Gradle配置)
- SpringMVC实现文件上传
- 解决linux下写一个文件之后立马读,读出乱码或者空白的问题