您的位置:首页 > 编程语言 > Python开发

python多线程的简单使用

2014-12-14 10:40 369 查看
首先放上一个不使用多线程的小程序留作后期的对照。

from time import sleep
import datetime

def 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 sleep
from multiprocessing.dummy import Pool as ThreadPool
import datetime
import numpy as np

def f(x):
start_time=datetime.datetime.now()
sleep(x)
end_time=datetime.datetime.now()
print (end_time-start_time).seconds

x=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
实验结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: