gpt4 book ai didi

python - threading.Thread 如何在 Python 中产生剩余的量子?

转载 作者:IT老高 更新时间:2023-10-28 21:37:01 25 4
gpt4 key购买 nike

我有一个正在轮询硬件的线程。

while not hardware_is_ready():
pass
process_data_from_hardware()

但还有其他线程(和进程!)可能有事情要做。如果是这样,我不想烧毁 CPU 每隔一条指令检查一次硬件。自从我处理线程以来已经有一段时间了,当我这样做的时候不是 Python,但我相信大多数线程库都有一个 yield 函数或允许线程告诉调度程序的东西“给其他线程一个机会。”

while not hardware_is_ready():
threading.yield() # This function doesn't exist.
process_data_from_hardware()

但我在线程文档中找不到类似的引用。 Python 确实有一个 yield 语句,但我很确定这完全是另一回事(与生成器有关)。

这里的正确做法是什么?

最佳答案

time.sleep(0) 足以产生控制——无需使用正 epsilon。实际上,time.sleep(0) 的意思是“屈服于任何其他可能准备好的线程”。

关于python - threading.Thread 如何在 Python 中产生剩余的量子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787803/

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