作为我程序的一部分,我使用命令“pthread_cond_signal(cv)”。
我想用这条线“释放”等待的cv(但我不知道这个当前的cv现在是否真的在等待。)
如果这个cv(一个pthread_cond_t变量)没有等待,也可以这样做吗? (我的意思是,之前没有调用过pthread_cond_wait)?
在这种情况下会有什么行为?
非常感谢。
答案 0 :(得分:3)
来自pthread_cond_signal的文档:
如果cond上当前没有线程被阻止,则pthread_cond_signal()和pthread_cond_broadcast()函数无效。
如果没有等待条件,那么没有任何反应。