-1

我想知道打电话时pthreads是否忙于内部等待pthread_cond_timedwait()

我正在分析一个多线程程序,需要知道调用上述函数时线程是否可能阻塞资源。

平台:Intel x86_64,CentOS 7.5.1804 和 GCC 5.3.0

4

1 回答 1

2

正如您将在他们的文档中阅读的那样,pthread_cond_wait()andpthread_cond_timedwait()函数会导致调用线程阻塞,直到发出 CV 信号,或者在后一种情况下,指定时间到达。(或者线程被取消,或者它被临时唤醒来处理一个信号,或者......)阻塞不仅仅意味着线程不从函数中返回。这意味着只要线程保持阻塞状态,就不会在任何执行单元上调度线程。因此,不,被阻塞的线程pthread_cond_timedwait()不会忙等待。

于 2020-02-11T06:39:38.737 回答