我想同时做多个过程, 例如,我想在正在循环的正下方打印一些字符串......
import time
from threading import Thread
print 'top'
def foo():
for i in range(1,10):
sys.stdout.write(str('\r%s\r'%i))
sys.stdout.flush()
time.sleep(1)
timer = Thread(target=foo)
timer.start()
'''bottom'
我想上面的代码看起来像这样
top
'''looping counter is underway'''
bottom
答案 0 :(得分:1)
听起来你想阻止你的主线程直到你的工作线程完成。为此你需要join function
import time
import sys
from threading import Thread
print 'top'
def foo():
for i in range(1,10):
sys.stdout.write(str('\r%s\r'%i))
sys.stdout.flush()
time.sleep(1)
timer = Thread(target=foo)
timer.start()
timer.join()
print 'bottom'
答案 1 :(得分:0)
好的,请阅读您最喜欢的线程文档。
你需要加入()线程
timer.join()
http://docs.python.org/library/threading.html#module-threading