注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

boost库的原子操作和互斥锁  

2012-02-12 17:04:53|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

原子操作:

boost的文档没有介绍的,好不容易在Boost.Interprocess 下面找到一个内部的实现

http://www.boost.org/doc/libs/1_48_0/boost/interprocess/detail/atomic.hpp

     

提供atomic_inc32 atomic_dec32  atomic_read32 atomic_write32 atomic_cas32 atomic_add32  等操作,有的是对windows api的封装,有的直接用汇编实现的,应该支持windows 和gcc的,不过文档都没怎么介绍啊。

 

好像也有第三方的实现,不过应该都没被收入boost 里面吧

boost.atomic 

C++0x atomic library for boost

http://git.chaoticmind.net/cgi-bin/cgit.cgi/boost.atomic/

 

 

-----------------------

互斥锁的:在两个地方都有

Boost.Interprocess

     Mutexes  

http://www.boost.org/doc/libs/1_48_0/doc/html/interprocess.html

 

Boost.Thread

     Mutexes  

 http://www.boost.org/doc/libs/1_48_0/doc/html/thread.html

 

 

 

--------------------

值得一提的是intel的TBB库(Intel(R) Threading Building Blocks)里面提供了 原子操作和 互斥锁,spinlock ,读写锁的等的支持。

 

http://threadingbuildingblocks.org/

 

  评论这张
 
阅读(2061)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017