本段代码教你使用多进程模块multiprocessing,定义了func(里面sleep两秒,比较耗时),你只需要修改功能函数即可用来做你的任务。对同一任务,用多进程和不用多进程进行了比较,应用速度会得到明显提升。 运行结果: 本段代码教你使用多线程模threading,定义了func(里面sleep两秒,比较耗时),你只需要修改功能函数即可用来做你的任务。对同一任务,用多线程和不用多线程进行了比较,应用速度会得到明显提升。 运行结果: 就是这么简单,放心使用吧!!!1. 多进程
#coding:UTF-8 import multiprocessing import time from tqdm import tqdm class MyMultiprocess(object): def __init__(self, process_num): self.pool = multiprocessing.Pool(processes=process_num) def work(self, func, args): result = [] for arg in args: result.append(self.pool.apply_async(func, (arg,))) self.pool.close() self.pool.join() finally_result = [] for res in result: finally_result.append(res.get()) return finally_result def func(num): """ 功能函数 """ for i in tqdm(range(10)): time.sleep(2) return num*num if __name__ == "__main__": start = time.time() mymultiprocess = MyMultiprocess(5) res = mymultiprocess.work(func, [1,2,3,4,5]) print(res) end = time.time() print("应用多进程耗时: %s" % (end-start)) start = time.time() res = [] for i in range(1, 6): j = func(i) res.append(j) print(res) end = time.time() print("不用多进程耗时: %s" % (end-start))
2. 多线程
import threading import time from tqdm import tqdm class MyThread(threading.Thread): def __init__(self, func, args=()): super(MyThread, self).__init__() self.func = func self.args = args def run(self): self.result = self.func(*self.args) def get_result(self): try: return self.result except Exception: return None def func(num): """ 功能函数 """ for i in tqdm(range(10)): time.sleep(2) return num*num if __name__ == "__main__": start = time.time() threads = [] results = [] for i in [1,2,3,4,5]: t = MyThread(func, args=(i,)) threads.append(t) t.start() for t in threads: t.join() results.append(t.get_result()) print(results) end = time.time() print("应用多线程耗时: %s" % (end-start)) start = time.time() results = [] for i in [1,2,3,4,5]: result = func(i) results.append(result) print(results) end = time.time() print("不用多线程耗时: %s" % (end-start))
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算