Python多进程库之一个函数让你设置CPU数和线程数
【Python多进程库】1个函数让你设置CPU数和线程数Tags: Python 多线程 多进程
multicpu使用multicpu以后,你需要1个函数,就能够定义你程序运行时所需的CPU数量和每一个cpu占用的线程数量:
cpu_num: 使用的CPU数量. 重点是,代码只有60行不到,你可以很轻松的浏览源码。 安装指南multicpu 可以直接使用pip就能够安装了
pip install multicpu
或,你也能够用git clone下载源代码,然后用setup.py安装:
git clone git@github.com:cyh24/multicpu.git sudo python setup.py install
由于源代码才60行不到,所以,你自己去看完全不会有卡住的地方,这里简单粗鲁地直接上代码: 如果你的程序是 不是IO密集型
import time def process_job(job): time.sleep(1) return job
jobs = [i for i in range(20)]
如果你的程序 IO密集型
import time def process_job(job): count = 100000000 while count>0:
count -= 1 return job
jobs = [i for i in range(20)]
没有使用任何多线程处理的方法:
import time if __name__ == "__main__": result = [] for job in jobs: result.append(process_job(job))
使用了python的线程池:
import time from concurrent import futures if __name__ == "__main__": result = []
thread_pool = futures.ThreadPoolExecutor(max_workers=10) result = thread_pool.map(process_job,jobs)
使用multicpu:
import time from concurrent import futures if __name__ == "__main__":
result = multi_cpu(process_job,10,1)
效果:
How Does it Work?Feel free to read the source for a peek behind the scenes (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |