atomic.cpp
来自「跨操作系统的微型中间件」· C++ 代码 · 共 42 行
CPP
42 行
#include "atomic.h"#include "OSMutex.h"static OSMutex sAtomicMutex;unsigned int atomic_add(unsigned int *area, int val){ OSMutexLocker locker(&sAtomicMutex); *area += val; return *area;}unsigned int atomic_sub(unsigned int *area,int val){ return atomic_add(area,-val);}unsigned int atomic_or(unsigned int *area, unsigned int val){ unsigned int oldval; OSMutexLocker locker(&sAtomicMutex); oldval=*area; *area = oldval | val; return oldval;}unsigned int compare_and_store(unsigned int oval, unsigned int nval, unsigned int *area){ int rv; OSMutexLocker locker(&sAtomicMutex); if( oval == *area ) { rv=1; *area = nval; } else rv=0; return rv;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?