pthreads 是否在内部忙于等待?

Is pthreads doing busy waiting internally?

我想知道在调用 pthread_cond_timedwait()pthreads 是否正在内部忙等待

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

平台:Intel x86_64、CentOS 7.5.1804 与 GCC 5.3.0

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