为了保证线程中的程序运行既能发挥优化的高效率又能拥有正确的顺序, C++11对底层硬件抽象出了一系列枚举值, 这些枚举值称为C++的内存模型
C++11中, 原子类型变量本身已经满足多线程的同步特性,...这个模型比较少用, 很多编译器将其实现得和acquire相同
, memory_order_acq_rel是获取-释放顺序, 是acquire和release的结合体, 起到一个内存栅栏的作用
线程局部存储..., 因此C++11提出给需要跨线程共享的全局变量的名字前面加上关键字thread_local来声明为TLS变量....这个变量在线程开始的时候被初始化, 且可以取得地址, 但是取得的是当前线程所指的这个TLS变量的地址
C++11对TLS变量的实现没有任何性能规定, 通常来说读写性能不会高于普通的全局/静态变量
程序退出机制...且exit()在多线程中还需要进行线程通信, 等待其他线程正常析构, 不正常的信号数据还可能导致死锁.
C++11引入了quick_exit(), 其不执行析构函数, 只是终止程序执行.