2020-05-30

atom int x=0;

std::vectorstd::threadth;

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

  • [&]{i++;} ↑こんなことしたら これスレッドが起動するタイミングによって forがランダムにスキップされるバグがおきるんじゃねーの

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん