[問題] pthread同步問題

看板C_and_CPP作者 (廢文小神童)時間12年前 (2013/01/23 11:15), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/3 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux G++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) pthread 問題(Question): 小弟目前在寫一支平行程式 想做的內容是 生出k條thread id從0~k-1 由id為0的thread負責準備資料 其它thread先wait(1) 等id 0資料準備好以後 在把其它thread叫醒執行 等其它thread都執行完然後都去wait以後(2) id 0在準備下一輪資料 (1)的部分似乎可以用pthread_cond_wait讓其他thread等待 等id 0準備好後在用pthread_cond_broadcast把它們叫醒 但是(2)的部分 id 0要怎麼知道其他人都已經做完了 因為他要等大家都做完才能準備下一階段 請大家給小弟一點意見 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.16.164

01/23 19:32, , 1F
其他人做完跟 t0 講
01/23 19:32, 1F

01/23 19:43, , 2F
可以看看 pthread_barrier_wait
01/23 19:43, 2F

01/23 23:02, , 3F
方便一點的做法是pthread_setspecific 設共用變數
01/23 23:02, 3F

01/23 23:03, , 4F
做完的thread就把它+1 加到k-1就是都做完了
01/23 23:03, 4F

01/25 10:55, , 5F
謝謝各位的建議:)
01/25 10:55, 5F
文章代碼(AID): #1G_yPRAs (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1G_yPRAs (C_and_CPP)