python 多线程简单实例

Posted on Posted in python
Tips: 本文创建于2016年6月3日,已超过 2 年,内容或图片可能已经失效!

> python map 并行化

- from multiprocessing import Pool
- pool = Pool(4) # 4为cpu核数
- result = pool.map(函数,列表) # 函数去执行列表中的每一个元素

  1. #! /usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. from multiprocessing import Pool  
  5. import time  
  6.   
  7. def getvalue(v):  
  8.     print v  
  9.   
  10. v = [one for one in range(100)]  
  11.   
  12. time1 = time.time()  
  13. for i in v:  
  14.     print i  
  15. time2 = time.time()  
  16.   
  17. print u'耗时: {}'.format(time2-time1)  
  18.   
  19. pool = Pool(2)  
  20. time3 = time.time()  
  21.   
  22. res = pool.map(getvalue, v)  
  23. pool.close()  
  24. pool.join()  
  25. time4 = time.time()  
  26.   
  27. print u'耗时:{}'.format(time4-time3)  

> python thread 多线程

  1. #! /usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. from time import sleep, ctime  
  5. import threading  
  6.   
  7. def funtest(k,v):  
  8.     for i in range(2):  
  9.         print '{}:{}'.format(k,ctime())  
  10.         sleep(v)  
  11. list = {'a':3,'b':4,'c':5}  
  12.   
  13. threads = []  
  14. ks = range(len(list))  
  15.   
  16. for k, v in list.items():  
  17.     t = threading.Thread(target=funtest,args=(k, v))  
  18.     threads.append(t)  
  19.   
  20. if __name__ == '__main__':  
  21.     for i in ks:  
  22.         threads[i].start()  
  23.     for i in ks:  
  24.         threads[i].join()  
  25.     print 'end:{}'.format(ctime())  
» 转载请注明来源:若我若鱼 » python 多线程简单实例

Leave a Reply

Your email address will not be published. Required fields are marked *

7 − one =