2014-12-13 74 views
0

我正在使用pthread來並行化一些代碼。首先,我將它與openmp並行化。這相當簡單直接。因爲我只是爲了避免競爭狀態而製作了一個可變的私人空間。我想在我的pthread代碼中做同樣的事情。我能做什麼?如何在pthread中模擬「openmp private」

+0

也許顯示一些代碼? – 2014-12-14 12:35:05

回答

0

根據代碼/目的,你可以使用並行線程互斥能夠連續訪問某個共享資源/值,因此只有一個線程在任何時候對其進行修改: - pthread_mutex_create /銷燬 - 的pthread_mutex_lock /解鎖 +使資源/值本身揮發性避免編譯時優化 或者你可以使用線程本地值: - pthread_key_create /刪除 - pthread_setspecific - pthread_getspecific 儘管在並行線程的start_routine局部變量可能會做同樣的事情你。