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