我正在使用LibreHardwareMonitor(一个OpenHardwareMonitor的分支)阅读有关我的计算机的信息,以构建一个开源的监控系统。它工作得很好,但是当在各种硬件上调用CUpdate()
方法时,它会挂起,异步IO非常适合这种情况,因为对Update()
的所有调用都可以同时发送,然后当所有结果都出现时,代码可以恢复,而不是一次等待一个
我签入了LibreHardwareMonitor库代码,但是它们似乎没有使用异步。我不知道这是否相关,也不知道碧昂内特是否可以忽略这一点
简单示例代码:
import clr
clr.AddReference("LibreHardwareMonitorLib.dll")
from LibreHardwareMonitor import Hardware
handle = Hardware.Computer()
handle.Open()
# Get updates about hardware sensors (motherboard, cpu, etc)
handle.Hardware[0].Update() # Hangs
handle.Hardware[1].Update() # Hangs
handle.Hardware[2].Update() # Hangs
是否可能以某种方式将这些调用与await
同时发送给Update()
所有人?我试过了,但它不起作用,因为Update()
返回void
目前没有回答
相关问题 更多 >
编程相关推荐