我有一个线程正在轮询一块硬件.
while not hardware_is_ready():
pass
process_data_from_hardware()
Run Code Online (Sandbox Code Playgroud)
但是还有其他线程(和进程!)可能有事情要做.如果是这样,我不想每次其他指令都烧掉cpu检查硬件.自从我处理线程以来已经有一段时间了,当我这样做时它不是Python,但我相信大多数线程库都有一个yield函数或某些东西允许线程告诉调度程序"给其他线程一个机会".
while not hardware_is_ready():
threading.yield() # This function doesn't exist.
process_data_from_hardware()
Run Code Online (Sandbox Code Playgroud)
但我在线程文档中找不到任何类似的引用.Python确实有一个yield声明,但我很确定这完全是另一回事(与生成器有关).
在这做什么是正确的?