使用该代码我希望,它应该打印"输入"马上,然后睡觉,然后打印"退出"。 但它一气呵成。 我怎么能让它运作起来?现在它锁定主应用程序,所以理想情况下我想在一个单独的线程中运行被调用的函数。但随后"进入"和"退出"立即打印,并在睡眠定时器后调用函数。
import time
def test_run():
time.sleep(1)
class Update(object):
def __init__(self):
pass
def __enter__(self):
print 'enter'
def __exit__(self, *_):
print 'exit'
with Update():
test_run()
答案 0 :(得分:1)
您的代码适合我。
import time
import threading
def test_run():
time.sleep(5)
def run_update():
with Update():
test_run()
class Update(object):
def __init__(self):
pass
def __enter__(self):
print('enter')
def __exit__(self, *_):
print('exit')
if __name__ == "__main__":
th = threading.Thread(target=run_update)
th.start()
for i in range(100):
print(i)
如果你增加睡眠时间,它可能会更明显。