python高效编程技巧14(如何使用线程池)
2017-10-17 20:18
686 查看
#!/usr/bin/env python # -*- coding:utf-8 -*- from concurrent.futures import ThreadPoolExecutor ''' 如何使用线程池: 使用标准库中的concurrent.futures下的ThreadPoolExecutor对象 的submit和map方法可以用来启动线程池中线程执行任务 当线程池中的每个线程都在运行,又有一个新的线程来调用的时候,则这个多的线程会等待线程池中有空余的线程时才会执行 ''' # 1、创建一个线程池,线程池中线程的大小为3 executor = ThreadPoolExecutor(3) # 2、定义一个函数 def f(a, b): # print ("f", a, b) # print a ** b return a ** b # 3、submit方法:从线程池中取出一个线程,去执行f函数,其中2,3是f的参数,不可用使用executor.submit(f(2,3))这种方式。否则得到的结果报错。执行完成后,线程会归还到线程池中去 future = executor.submit(f, 2, 3) # executor的submit的方法会返回结果,可以调用该结果的result()方法来得到值 print future.result() # 4、map方法:类似高级函数Map方法,意思为分别依次取第一个列表和第二个类表中的每一个值作为参数,去调用f函数 future = executor.map(f, [2, 3, 5], [4, 5, 6]) for result in future: print result
相关文章推荐
- python高效编程技巧11(如何使用多线程)
- python高效编程技巧10(如何读写json)
- python高效编程技巧3(如何统计序列中元素出现的频率)
- python高效编程技巧13(如何在线程之间实现事件通知)
- python高效编程技巧4(如何根据字典中值的大小,对字典的项进行排序)
- python高效编程技巧7(pickle的使用:可以将一个对象存储在一个文件中,或者load进来)
- python高效编程技巧5(如何快速找到多个字典中的公共键)
- python高效编程技巧9(如何读写csv文件)
- python高效编程技巧1 (如何在列表,字典,集合中根据条件筛选数据)
- Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据
- python高效编程技巧2(如何为元组的每个元素命名,提高程序的可读性)
- 如何使用搜索技巧来成为一名高效的程序员
- 如何使用搜索技巧来成为一名高效的程序员
- 如何使用搜索技巧来成为一名高效的程序员
- 如何使用搜索技巧来成为一名高效的程序员
- 如何在数据库中使用索引 【数据库高效编程 - 学习笔记 第七章】
- 如何使用搜索技巧来成为一名高效的程序员
- 如何使用搜索技巧来成为一名高效的程序员(Google, Bing, Yahoo or Baidu)
- 如何使用搜索技巧来成为一名高效的程序员
- 如何使用搜索技巧来成为一名高效的程序员