boost shared_ptr线程安全性
生活随笔
收集整理的這篇文章主要介紹了
boost shared_ptr线程安全性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉?? http://blog.csdn.net/jiangfuqiang/article/details/8292906
1 同一個shared_ptr對象可以被多線程讀
2 多個shared_ptr對象、但指向同一raw_pointer的, shared_ptr本身可以被多線程讀寫; 但是底層指針指向的對象的多線程安全性無任何保證。
3 多線程同時讀寫同一個shared_ptr對象時, 使用atomic_load/store/exchange, 這些函數見smart_ptr/shared_ptr.hpp。 否則是不安全的。
我見過最清楚的分析了。 第1、2點本身我很清楚; 第3點讓我能避免一些錯誤、即便這個錯誤出現的幾率非常非常小。
目前的幾個服務端程序中, 多線程可能同時讀寫一個shared_ptr對象時, 都是直接賦值(讀) 或者reset(寫)的; 雖然也一直沒出現過異常。
總結
以上是生活随笔為你收集整理的boost shared_ptr线程安全性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务端统一时间戳 boost::date
- 下一篇: hashmap::begin() 坑