我看了很多關于pthread_cond_wait(pthread_cond_t *cond,pthread_mutex_t *mutex)函數的解釋,大多人認為這個函數是先判斷cond指向的條件變量是否為真,如果不為真的話,就先釋放由mutex指向的互斥鎖,然后將當前線程(用t1表示)阻塞,即將線程t1掛到與cond指向的條件變量相關的等待隊列上。我的疑問是,如果當mutex指向的互斥鎖釋放以后,還沒來得及將線程t1掛到相應的等待隊列之前,當前執行流程就被調度了,然后執行另一個線程t2,線程t2中調用pthread_cond_signal函數之后,能對線程t1產生什么影響?
如下所示,請問t1會不會永遠阻塞?
幕布斯6054654
2023-03-03 14:10:40