python多线程的简单使用

来源:互联网 发布:淘宝美工作品图片大全 编辑:程序博客网 时间:2024/05/22 02:15

首先放上一个不使用多线程的小程序留作后期的对照。

from time import sleepimport datetimedef x1():    start_time=datetime.datetime.now()    sleep(5)    end_time=datetime.datetime.now()    print (end_time-start_time).seconds    def x2():    start_time=datetime.datetime.now()    sleep(7)    end_time=datetime.datetime.now()    print (end_time-start_time).seconds    if __name__=='__main__':    start_time=datetime.datetime.now()    x1()    x2()    end_time=datetime.datetime.now()    print 'The main time is',(end_time-start_time).seconds        

运行结果:


然后再用一个使用线程的小程序来比较一下,线程的优势

from time import sleepfrom multiprocessing.dummy import Pool as ThreadPoolimport datetimeimport numpy as npdef f(x):    start_time=datetime.datetime.now()    sleep(x)    end_time=datetime.datetime.now()    print (end_time-start_time).secondsx=np.array([5,7])    if __name__=='__main__':    start_time = datetime.datetime.now()    pool = ThreadPool()    results = pool.map(f,x)    pool.close()    pool.join()        end_time = datetime.datetime.now()    print 'The sum time is',(end_time-start_time).seconds    
实验结果:


0 0
原创粉丝点击