当程序启动/does_not_start线程时变量初始化
Variable initialization when program starts/does_not_start a thread
你能解释一下程序启动和不启动线程时变量初始化顺序的区别吗?
秒。3.6.2/3 N3797 c++14工作草案:
如果程序启动一个线程(30.3),随后的初始化变量的初始化是无序的在不同翻译单元中定义的变量。否则,变量的初始化顺序是不确定的到在不同翻译中定义的变量的初始化单位。
如果可能的话,请举例说明这条规则。
Unsequenced表示没有顺序——变量可以在不同线程上并发初始化。
不确定序列意味着一个在另一个之前排序——变量在同一个线程中按顺序初始化——但是没有指定哪个先初始化。
相关文章:
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 类与私有变量的其他类之间的线程安全性
- 全局变量 多读取器 一个写入器多线程安全?
- 静态 constexpr 类成员变量对多线程读取是否安全?
- 成员变量在多线程 C++ 时自行更改
- C++线程安全:如果只有一个线程可以写入非原子变量,但多个线程从中读取. 会遇到问题吗?
- 多个线程可以安全地同时将相同的值写入同一变量吗?
- C++11:具有互斥锁的线程看到原子变量的值发生变化,尽管这是唯一可以改变它的代码
- C++线程不检测全局变量更改
- 为什么 beginthreadex 线程参数变量在父线程中没有更新
- C++多线程程序:变量定义为类成员的隔离错误
- std::线程不是全局变量,但在到达创建它的函数的末尾时不会超出范围?
- 对全局变量的多线程访问:我应该使用互斥锁吗?
- 子线程中的条件变量等待停止主线程中的执行
- cuda:多个线程访问同一个全局变量
- 多个线程可以读取同一个类成员变量吗?
- 线程局部变量的初始化顺序
- 在静态初始化期间,pthread线程变量何时开始存在
- 从主循环windows访问线程变量
- 线程变量的声明和影响