当参数被传递给
简单示例:
std::thread()
时,新线程的本地存储中完全复制所有参数之前,生成新线程的原始线程是否等待?简单示例:
void f()
{
int array[10];
........ //done something with array
std::thread th(someF, array); //assuming that someF accepts int[]
th.detach();
}
我应该自动假设在f()
结束之前所有数据都已经安全地复制了吗?假设f()
不等待并全速前进,我所看到的一个场景是th
正在尝试复制正在被销毁的array
。