网站开发用到哪些技术,天津百度推广优化排名,网络销售平台,免费网站开发公司2019独角兽企业重金招聘Python工程师标准 concurrent.futures模块提供了一个异步执行callables的高级接口。 可以使用ThreadPoolExecutor和ProcessPoolExecutor。 两者都继承了相同的接口#xff0c;该接口由抽象的Executor类定义。 一个抽象类#xff0c;提供… 2019独角兽企业重金招聘Python工程师标准 concurrent.futures模块提供了一个异步执行callables的高级接口。 可以使用ThreadPoolExecutor和ProcessPoolExecutor。 两者都继承了相同的接口该接口由抽象的Executor类定义。 一个抽象类提供异步执行调用的方法。 它不应该直接使用而是通过其具体的子类。 submit (fn, *args, **kwargs)提交执行的函数并获取一个Future对象例如 with ThreadPoolExecutor(max_workers1) as executor:future executor.submit(pow, 323, 1235)print(future.result()) ThreadPoolExecutor是Executor子类它使用一个线程池来异步执行调用。concurrent.futures.ThreadPoolExecutor(max_workersNone, thread_name_prefix, initializerNone, initargs())。例如 import concurrent.futures
import urllib.request URLS [http://www.foxnews.com/,http://www.cnn.com/,http://europe.wsj.com/,http://www.bbc.co.uk/,http://some-made-up-domain.com/]# Retrieve a single page and report the URL and contents
def load_url(url, timeout):with urllib.request.urlopen(url, timeouttimeout) as conn:return conn.read()# We can use a with statement to ensure threads are cleaned up promptly
with concurrent.futures.ThreadPoolExecutor(max_workers5) as executor:# Start the load operations and mark each future with its URLfuture_to_url {executor.submit(load_url, url, 60): url for url in URLS}for future in concurrent.futures.as_completed(future_to_url):url future_to_url[future]try:data future.result()except Exception as exc:print(%r generated an exception: %s % (url, exc))else:print(%r page is %d bytes % (url, len(data))) ProcessPoolExecutorconcurrent.futures.ProcessPoolExecutor(max_workersNone, mp_contextNone, initializerNone, initargs())使用如下 import concurrent.futures
import math executor ProcessPoolExecutor(max_workers5)def is_prime(n):if n % 2 0:return Falsesqrt_n int(math.floor(math.sqrt(n)))for i in range(3, sqrt_n 1, 2):if n % i 0:return Falsereturn Truedef main():for i in range(10): future executor.submit(is_prime, n)if __name__ __main__:main() Future: Future类封装了可调用的异步执行。 该实例由Executor.submit创建。 转载于:https://my.oschina.net/u/3316387/blog/2996178