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()
中的线程不会忙等待。
我想知道在调用 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()
中的线程不会忙等待。