atom int x=0;
std::vector<std::thread> th;
th.resize(2048);
for(int i=0;i<2048;i++) th[i] =std::thread( [&]{x++;while( x <= 2048) Sleep(1);} );
for(int i=0;i<2048;i++) th[i].join();
|gcc -O5
time ./a.out
Permalink | 記事への反応(1) | 12:54
ツイートシェア
[&]{i++;} ↑こんなことしたら これスレッドが起動するタイミングによって forがランダムにスキップされるバグがおきるんじゃねーの