看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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
legnaleurc:其他人做完跟 t0 講 01/23 19:32
IrisXIII:可以看看 pthread_barrier_wait 01/23 19:43
wirelessr:方便一點的做法是pthread_setspecific 設共用變數 01/23 23:02
wirelessr:做完的thread就把它+1 加到k-1就是都做完了 01/23 23:03
XXaa:謝謝各位的建議:) 01/25 10:55