pthread_cond_broadcast() 是否應放mutex_lock()與unlock 之間,語法上都沒問題。
區別在于
放在中間 涉及線程切換 效率不高 但linux維護cond_wait和mutex_wait兩個隊列,解決效率問題 所以linux上推薦放在中間
放在之后 沒有效率問題,但可能導致低優先級線程正處于mutex等待,獲得鎖
pthread_cond_broadcast() 是否應放mutex_lock()與unlock 之間,語法上都沒問題。
區別在于
放在中間 涉及線程切換 效率不高 但linux維護cond_wait和mutex_wait兩個隊列,解決效率問題 所以linux上推薦放在中間
放在之后 沒有效率問題,但可能導致低優先級線程正處于mutex等待,獲得鎖