程序启动/ do_not_start线程时的变量初始化

时间:2014-07-04 11:03:22

标签: c++ multithreading initialization

如果程序启动并且没有启动线程,你能解释一下变量初始化序列之间的区别吗?

秒。 3.6.2 / 3 N3797 c ++ 14工作草案:

  

如果程序启动一个帖子(30.3),则后续初始化   关于a的初始化,变量未被排序   变量在不同的翻译单元中定义。 否则,   关于变量的初始化是不确定地排序的   初始化在不同翻译中定义的变量   单元。

请举例,解释该规则,如果可能的话。

1 个答案:

答案 0 :(得分:1)

Unsequenced 表示没有序列 - 变量可以在不同的线程上同时初始化。

不确定地排序意味着一个在另一个之前排序 - 变量在同一个线程上顺序初始化 - 但是没有指定哪个是首先初始化的。