文章目录
- 简介
- 引子
- 分析
- 深入
- pthread_once
- 对比
简介
这里不是介绍call_once的详细用法,可以在网上搜。https://en.cppreference.com/w/cpp/thread/call_once
这里介绍一下call_once在glibc++里的实现,与atomic的对比。
引子
有个同事,犯了一个错误,详情见:https://mzhan017.blog.csdn.net/article/details/125399872
如果修改这个问题呢?是使用atomic,还是call_once?
分析
回答上面的问题,我们只能通过看内部实现;
atomic在x86机上的实现是硬件架构提供的支持:https://blog.csdn.net/qq_36428903/article/details/121578801
再来看看call_once,是定义在mutex头文件里:
是一个函数模板,看着这段代码,就让人云里雾里。。。。
/// call_once
template