パラメータが に渡されるとき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()
私が目にするシナリオの 1 つは、待機せずに全速力で前進すると仮定すると、破壊されているものth
をコピーしようとすることです。array