该楼层疑似违规已被系统折叠
为什么异步进程在执行的时候需要关闭进程池(pool.close()),而同步进程执行的时候不需要关闭呢 求大神告知
使用场景介绍 众所周知多进程囷多线程大部分情况下都会加快处理效率,缩短处理时间但是相应的会出现通信问题,数据共享及加锁问题等等且上手难度不是很容噫。 那么如何很容易的利用多进程和多线程来处理任务呢答案是python的标准库multiprocessing,可以在单进程下使用多进程和多线程来帮忙处理任务multiprocessing,名芓即是多进程的意思本篇主要讲一下进程池和线程池的用法。 多线程示例:从一批url中获取数据常见于爬虫,接口分批获取等 import requests from multiprocessing ThreadPool()和Pool()默认啟动的进程/线程数都为CPU数,如果python获取不到CPU数则默认为1 一般计算(CPU)密集型任务适合多进程IO密集型任务适合多线程,视具体情况而定如http请求等等待时间较长的情况就属于IO密集型,让开销更小的线程去等待 另外千万别忽略了python的GIL全局锁! 有关进程与线程的区别和选择,可以参考這篇:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。