C++ 局部静态变量的线程安全初始化效率如何?
在VC2015和最新版本的Clang和GCC(以及根据C++11标准)中,局部静态变量的初始化是线程安全的 在上述编译器中实际实现这一点的效率如何?他们使用互斥锁吗C++ 局部静态变量的线程安全初始化效率如何?,c++,multithreading,c++11,static-variables,C++,Multithreading,C++11,Static Variables,在VC2015和最新版本的Clang和GCC(以及根据C++11标准)中,局部静态变量的初始化是线程安全的 在上述编译器中实际实现这一点的效率如何?他们使用互斥锁吗 我正在考虑编写一个高性能日志库,在每个调用站点(如)使用一个静态对象,这会很慢吗?静态变量的初始化在程序的每次运行中都会发生一次,因此“效率”问题可能并不重要。它实际上是特定于编译器实现的。GCC和Clang是开源的,您可以自己检查它的用途。@NeilButterworth,但每次调用函数时都要检查初始化是否完成。但速度并不慢,如果
我正在考虑编写一个高性能日志库,在每个调用站点(如)使用一个静态对象,这会很慢吗?静态变量的初始化在程序的每次运行中都会发生一次,因此“效率”问题可能并不重要。它实际上是特定于编译器实现的。GCC和Clang是开源的,您可以自己检查它的用途。@NeilButterworth,但每次调用函数时都要检查初始化是否完成。但速度并不慢,如果您需要该功能,您将无法手动完成更快的操作。@Jonatan Fair point.related: