0
我對考試有一個疑問,但我不明白他們想從我那裏得到什麼。opm多線程有什麼問題?
這裏有一些代碼行有一些錯誤,但我沒有得到它。
int a = 0;
#pragma omp parallel for num_threads(4)
for (int i = 0; i < 100000; i++) {
a++;}
其實,我在想一個,至於我必須在線程內。
希望你能幫上忙。
我對考試有一個疑問,但我不明白他們想從我那裏得到什麼。opm多線程有什麼問題?
這裏有一些代碼行有一些錯誤,但我沒有得到它。
int a = 0;
#pragma omp parallel for num_threads(4)
for (int i = 0; i < 100000; i++) {
a++;}
其實,我在想一個,至於我必須在線程內。
希望你能幫上忙。
問題是a++
操作不是原子的。我想你應該通過課程學到這個術語,或者你可以在wikipedia上查找定義。
因此,如果我使用'#pragma omp atomic for'作爲'a ++',它會是正確的嗎? – mucc
是的,這是對的。 –