如果对一个变量进行自加自减操作,一般这样写:
int global_count = 0;
global_count ++;
如果是多线程操作,一般都需要加锁处理:
pthread_mutex_t count_lock = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_lock(&count_lock);
global_count ++;
pthread_mutex_unlock(&count_lock);
其实,还有更好的方法,使用原子性操作函数:
__sync_fetch_and_add(&global_count, 1);
使用原子性操作函数的优势,不仅线程安全,而且也十分省时。
1万+

被折叠的 条评论
为什么被折叠?



