加载中
spin lock自旋锁

自旋锁 通过cas操作,在大部分情况下可以实现比std::mutex 更高的性能 基本思想是通过原子操作去尝试获取变量的值 所有线程去竞争 该原子变量 性能: 无竞争情况下 1.spin_lock 16000W 次每秒...

2018/09/29 15:15
82
boost 对称协程symmetric_coroutine

对称协程 symmetric_coroutine 非对称协程 asymmetric_coroutine #include "boost_1_60_0/boost/coroutine/coroutine.hpp" int main() {   using Coroutine_t = boost::coroutines::sym...

2017/01/19 01:09
139
并发,std::future和std::async

当一个操作可以一步执行的时候,可以用std::async创建异步任务,异步任务的返回值就是任务函数的返回值,需要的时候再通过std::future (期望)的 get来获取,注意 get内部是std::move int ...

2016/09/23 17:16
84
double check

double check模式 依然会导致潜在的资源的条件竞争 C++多线程模型 ,这种处理方法在大部分情况下能按照意图工作 通常做法   Test*getInstance()   {     if (ins