2010-01-20 57 views
1

關於OpenMP多線程代碼的問題:OpenMP的全局變量

是否所有全局變量由線程共享?如何確定全局變量專用於主線程?

由於

PS:它是一個C代碼。

+0

什麼語言,C還是fortran?兩種語言的細節有點不同。另外,如果fortran,你是否想要私人公共街區? – Anycorn 2010-01-20 17:49:19

+0

這是一個C代碼。 – OnRoadCoder 2010-01-21 00:27:45

回答

0

,如果我記錯

#pragma omp threadprivate 

全局變量是有點棘手,如果他們必須進行初始化,您必須使用copyfirst指令(我認爲這是正確的名稱)。 threadprivate變量也可能帶來重大的懲罰,在一些實現中,變量訪問成爲函數調用。