码迷,mamicode.com
首页 > 其他好文 > 详细

boost的原子操作

时间:2015-06-03 17:48:18      阅读:426      评论:0      收藏:0      [点我收藏+]

标签:boost   原子操作   atomic   线程安全   

  1. int a=0;  
  2. std::cout<<a<<std::endl;  
  3. boost::thread t1([&](){  
  4.       
  5.     for (int cnt=0;cnt<100000;cnt++)  
  6.     {  
  7.         a+=1;  
  8.     }  
  9.   
  10. });  
  11. boost::thread t2([&](){  
  12.     for (int cnt=0;cnt<100000;cnt++)  
  13.     {  
  14.         a-=1;  
  15.     }  
  16.   
  17. });  
  18. t1.join();  
  19. t2.join();  
  20. std::cout<<‘\t‘<<a<<std::endl;  

输出:

-3529


  1. boost::atomic_int a(0);  
  2. std::cout<<a<<std::endl;  
  3. boost::thread t1([&](){  
  4.       
  5.     for (int cnt=0;cnt<100000;cnt++)  
  6.     {  
  7.         a+=1;  
  8.     }  
  9.   
  10. });  
  11. boost::thread t2([&](){  
  12.     for (int cnt=0;cnt<100000;cnt++)  
  13.     {  
  14.         a-=1;  
  15.     }  
  16.   
  17. });  
  18. t1.join();  
  19. t2.join();  
  20. std::cout<<‘\t‘<<a<<std::endl;  

输出

0

boost的原子操作

标签:boost   原子操作   atomic   线程安全   

原文地址:http://blog.csdn.net/nyist327/article/details/46346869

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!