为什么获取信号量的值并检查它以便当信号量的值> 0时,我们调用wait()会有问题?即:为什么以下代码会出现问题?
if (getValue(&sem)>0){ wait(&sem); }
看起来问题在这里:
&sem>0
你没有将指针作为参数传递给信号量(&sem),而是一个int(&sem> 0)
你试过了吗
getValue(&sem) > 0
?