#!/usr/bin/env python
# -*- coding:utf-8 -*-
from concurrent.futures import threadpoolexecutor
'''如何使用執行緒池:
使用標準庫中的concurrent.futures下的threadpoolexecutor物件
的submit和map方法可以用來啟動執行緒池中線程執行任務
當執行緒池中的每個執行緒都在執行,又有乙個新的執行緒來呼叫的時候,則這個多的執行緒會等待執行緒池中有空餘的執行緒時才會執行
'''# 1、建立乙個執行緒池,執行緒池中線程的大小為3
executor = threadpoolexecutor(3)
# 2、定義乙個函式
deff
(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高效程式設計技巧
關鍵字 python 高效 程式設計 開源 原文 我已經使用python程式設計有多年了,即使今天我仍然驚奇於這種語言所能讓 表現出的整潔和對dry程式設計原則的適用。這些年來的經歷讓我學到了很多的小技巧和知識,大多數是通過閱讀很流行的開源軟體,如django,flask,requests中獲得的。...
python高效程式設計技巧
列表 ldata range 2,2 構造列表 a filter lambda x x 0,ldata filter函式 b x for x in ldata if x 0 列表解析 字典from random import randint ddata 構造字典 c 字典解析 集合sdata set...
Python高效程式設計技巧
我已經使用python程式設計有多年了,即使今天我仍然驚奇於這種語言所能讓 表現出的整潔和對dry程式設計原則的適用。這些年來的經歷讓我學到了很多的小技巧和知識,大多數是通過閱讀很流行的開源軟體,如django,flask,requests中獲得的。下面我挑選出的這幾個技巧常常會被人們忽略,但它們在...