gpt4 book ai didi

c - Pthread - time.h::sleep() 和 pthread.h::pthread_yield() 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 16:35:09 26 4
gpt4 key购买 nike

我花了很长时间寻找有关 time.h::sleep() 和 pthread.h::pthread_yield() 之间差异的信息,但找不到任何可靠的引用资料,所以我发布了这个问题。

time.h::sleep() 和 pthread.h::pthread_yield() 有什么区别?

更新:

我问的原因是因为我正在使用 sleep() 到 sleep() 每个单独的线程......当有 8 个线程与 4 个线程时,我的应用程序开始出现问题。当我上网查看 sleep() 是否只影响每个线程时,我找不到任何好的引用来说明 Sleep() 影响整个进程还是 sleep() 只影响单个线程。

最佳答案

来自 pthread_yield :

The pthread_yield subroutine forces the calling thread to relinquish use of its processor, and to wait in the run queue before it is scheduled again. If the run queue is empty when the pthread_yield subroutine is called, the calling thread is immediately rescheduled.

来自sleep manpage :

sleep() makes the calling process sleep until seconds seconds have elapsed or a signal arrives which is not ignored.

如果您不想在您的线程中有实时延迟并且只想让其他线程完成它们的工作,那么 pthread_yield 比 sleep 更适合。

关于c - Pthread - time.h::sleep() 和 pthread.h::pthread_yield() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com