我需要每秒或几秒打印变量的值,而“同时”正在修改此变量。所以我会在我的main函数中修改这个变量,我希望每秒都能打印它的值。类似的东西:
'''This is my main program'''
for i in range(very large number):
'''do something which modifies the value of 'var' '''
代码中的其他地方:
'''Every second'''
print var
我看了this,但我不确定这是我正在寻找的,或者我应该如何使用它。
我需要的是简单的,没有其他线程,我不关心同步任何东西,或者在main函数中打印值。
答案 0 :(得分:3)
您可以使用线程每秒打印var。
试试这个例子:
导入线程
var = 5
def printit():
global var
threading.Timer(5.0, printit).start()
print "Hello, World!", var
printit()
import time
for i in range(1000000):
time.sleep(2)
var = i
答案 1 :(得分:1)
基本上,您指出的问题/答案就是您所需要的:
import threading import time
interesting = 0
class MonitorThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global interesting
while(1):
print interesting
time.sleep(1)
MonitorThread().start()
for interesting in range(2000000):
time.sleep(1)