首页 > 编程语言 > 详细

获取线程的执行结果

时间:2020-12-26 18:13:11      阅读:31      评论:0      收藏:0      [点我收藏+]

code
import threading
from queue import Queue
import time
 
def timeit(f):
    def wrapper(*args, **kwargs):
        start_time = time.time()
        res = f(*args, **kwargs)
        end_time = time.time()
        print("%s函数运行时间:%.8f" % (f.__name__, end_time - start_time))
        return res
    return wrapper
 
def job(li, queue):
    queue.put(sum(li))
 
@timeit
def use_thread():
    q = Queue()
    lis = [range(5), range(2,10), range(1000, 20000), range(3000, 10000)]
    threads = []
    for li in lis:
        t = threading.Thread(target=job, args=(li, q))
        t.start()
        threads.append(t)
    [thread.join() for thread in threads]
    results  = [q.get() for li in lis]
    print(results)
 
if __name__ == "__main__":
    use_thread()
outputs
macname@MacdeMacBook-Pro py % python3 cccccc.py
[10, 44, 199490500, 45496500]
use_thread函数运行时间:0.00095630
macname@MacdeMacBook-Pro py %
 
 
 
 
 
 
 
 
 
 
 
 

获取线程的执行结果

原文:https://www.cnblogs.com/sea-stream/p/14192614.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!