我在一个线程中使用psutil
库,它定期发布我的CPU使用统计信息。下面是一个片段:
class InformationThread(threading.Thread):
def __init__(self, *args, **kwargs):
threading.Thread.__init__(self)
def run(self):
while True:
cpu = psutil.cpu_percent(interval=600) #this is a blocking call
print cpu
我需要停止这条线,但我似乎不明白怎么做。方法^{
我一直在研究,我看到的所有例子都依赖于一个紧密的循环,它检查了一个标志,以确定循环是否应该被中断,但是在这个例子中,我不确定如何终止线程。在
将interval设置为0.0并实现一个更紧密的内部循环,在这个循环中可以检查线程是否应该终止。计时应该不难,这样调用
cpu_percent()
之间的时间大致等于600。在您可以将
stop()
方法添加到InformationThread
类中,该类终止其run()
循环,如下所示。但请注意,它不会解除已在进行中的cpu_percent()
调用的阻塞。在相关问题 更多 >
编程相关推荐