import threading, time
def wrapper(func, args, res):
res.append(func(*args))
res = []
t = threading.Thread(target=wrapper, args=(findcluster, (companyid,), res))
t.start()
while t.is_alive():
# print next iteration of ASCII spinner
t.join(0.2)
print res[0]
#!/usr/bin/env python
import time
import thread
def spinner():
while True:
print '.'
time.sleep(1)
def task():
time.sleep(5)
if __name__ == '__main__':
thread.start_new_thread(spinner, ())
# as soon as task finishes (and so the program)
# spinner will be gone as well
task()
使用线程:
您可以使用multiprocessing。或者,如果
findCluster(companyid)
有合理的停止点,则可以将其与draw_ascii_spinner
一起转换为生成器,以执行以下操作:通常,您将使用线程。这里有一个简单的方法,假设只有两个线程:1)执行
task
的主线程,2)微调器线程:相关问题 更多 >
编程相关推荐