加锁的函数里返回值
想在加锁的函数里返回值
现在求其它可行方案,开始吧 。。。
哎,苦逼的王皓又输了。。。
int count = 0;
// 这样是绝对不行的。
int f() {
pthread_mutex_lock(&mutex_);
return count++;
pthread_mutex_unlock(&mutex_);
}
// 这样还是不行。
int f() {
pthread_mutex_lock(&mutex_);
int ret = count++;
pthread_mutex_unlock(&mutex_);
return ret;
}
// 这样是可以的。
int f(int& val) {
pthread_mutex_lock(&mutex_);
val = count++;
pthread_mutex_unlock(&mutex_);
}
// 这样也是可以的。
int f() {
MutexLockGuard lock(mutex_); // RAII
return count++;
}
现在求其它可行方案,开始吧 。。。
哎,苦逼的王皓又输了。。。
...全文
相关推荐
有参数无返回值的函数
本文章是关于有参数无返回值的函数。
Python函数返回值实例分析
主要介绍了Python函数返回值,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
python在回调函数中获取返回值的方法
今天小编就为大家分享一篇python在回调函数中获取返回值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
详解C语言函数返回值解析
主要介绍了详解C语言函数返回值解析的相关资料,需要的朋友可以参考下
redis实现加锁的几种方法示例详解
主要给大家介绍了关于redis实现加锁的几种方法,加锁命令分别是INCR、SETNX和SET,文中给出了详细的示例代码,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。


