在多线程C ++程序中,是否可以在并行执行过程中与其他正在运行的线程一起正确使用std::exit
?
换句话说,使用std::exit
的前提是什么?
第三方库通常可以安全使用吗?
注意:调用std::exit
与从main
中的空白块返回相同:
int main(.....)
{ // nothing here
{
all the real code......
}
return 0;
}
备注:这里的重点是其他线程;显然,从main
调用的所有函数返回后便能够return
意味着所有局部变量都被正确地销毁了。即使在标准C ++中,也总是如此。这不是重点,因为这不是线程问题。