2013-10-05 46 views
0

我對考試有一個疑問,但我不明白他們想從我那裏得到什麼。opm多線程有什麼問題?

這裏有一些代碼行有一些錯誤,但我沒有得到它。

int a = 0; 
#pragma omp parallel for num_threads(4) 
for (int i = 0; i < 100000; i++) { 
a++;} 

其實,我在想一個,至於我必須在線程內。

希望你能幫上忙。

回答

0

問題是a++操作不是原子的。我想你應該通過課程學到這個術語,或者你可以在wikipedia上查找定義。

+0

因此,如果我使用'#pragma omp atomic for'作爲'a ++',它會是正確的嗎? – mucc

+0

是的,這是對的。 –