pthread是否正在忙于内部等待?

问题描述 投票:-1回答:1

我想知道pthreads是否正在执行内部繁忙等待在调用pthread_cond_timedwait()时?

我正在分析多线程程序,并且在调用上述函数时需要知道线程是否潜在地阻塞了资源。

平台:Intel x86_64,带有GCC 5.3.0的CentOS 7.5.1804

c pthreads internals busy-waiting
1个回答
0
投票

正如您将在其文档中阅读的,pthread_cond_wait()pthread_cond_timedwait()函数使调用线程成为block,直到发出CV信号,或者在后一种情况下,指定的时间到了。 (或者取消线程,或者暂时唤醒线程以处理信号,或者...。)阻塞并不仅仅意味着线程不会从函数中返回。这意味着只要线程仍处于阻塞状态,就不会在任何执行单元上调度该线程。因此,不,在pthread_cond_timedwait()中阻塞的线程不会忙于等待。

© www.soinside.com 2019 - 2024. All rights reserved.