1 void QSemaphore::acquire(int n = 1)

尝试获取由信号量保护的n个资源。相当于P
如果n> available(),则此调用将阻塞,直到有足够的资源可用为止。

2 void QSemaphore::release(int n = 1)

释放由信号量保护的n个资源。相当于V
也可用于创建资源

3 int QSemaphore::available() const

返回信号量当前可用的资源数量。
此数字永远不能为负。

4 bool QSemaphore::tryAcquire(int n = 1)

尝试获取信号量保护的n个资源,成功时返回true。如果Available()<n,则此调用立即返回false,而不获取任何资源。

5 bool QSemaphore::tryAcquire(int n, int timeout)

尝试获取信号量保护的n个资源,成功时返回true。如果Available()注意:传递负数作为超时相当于调用Acquisition(),即如果超时为负,此函数将永远等待资源变为可用。