tbb学习笔记(二):原子操作
来源:互联网 发布:淘宝上不能买彩票了吗 编辑:程序博客网 时间:2024/05/22 17:21
使用原子操作可以避免互斥。当一个线程调用原子操作时,其他线程会视之为瞬间发生的。
优点:相对于Lock速度快,且不会有死锁和convoying。
缺点:原子操作只限于有限的几种操作。
tbb中基本的原子操作如下表
所谓的compare_and_swap操作如下代码所示:
atomic<int> globalx;int UpdatedX() { // Update x and return old value of x. do { // Read globalX oldx = globalx; newx = ...expression involving oldx.... // Store new value if another thread has not changed globalX. }while (globalx.compare_and_swap(newx, oldx)!=oldx); return oldx;}
1. A线程从globalx中读取了value A
2. 其他的线程将globalx的值修改从A到B再到A
3.步骤1
- tbb学习笔记(二):原子操作
- Tbb 中的原子操作
- 原子操作(笔记)
- tbb库学习笔记(序)
- TBB学习笔记一
- (二)原子操作_zzhere2007
- ACE学习(二)原子操作与ACE_Atomic_Op
- STM32学习笔记(4):原子操作(Atomatic Operations)
- c# 多线程学习笔记(三)原子操作
- linux学习笔记4--原子操作
- CUDA学习笔记(5) 原子操作
- TBB(Intel Threading Building Blocks)学习笔记
- TBB(Intel Threading Building Blocks)学习笔记
- TBB(Intel Threading Building Blocks)学习笔记
- TBB(Intel Threading Building Blocks)学习笔记
- tbb学习笔记(一): tbb容器及Mutex
- 原子操作类学习(一)
- 学习笔记——操作系统_Linux原子操作
- DEV xtrareports
- Android平台下实现一个进程管理器
- XCode 4.2 集成svn client
- What Is a Glue Code?
- MFC 快捷键
- tbb学习笔记(二):原子操作
- VBScript:Color Constants
- ORACLE中SQL查询优化研究
- Matlab中的\ 和/和pinv的关系以及运算
- 运用struts2 进行html代码从后台到前台页面的转义显示
- Jquery表单选择器和each
- 测试 logic:empty,notEmpty 以及 logic:present,notPresent
- 时间转换__SQL语句备份
- 触摸事件分析