如何深入理解并运用Python的分布式进程接口?
- 内容介绍
- 文章标签
- 相关推荐
本文共计920个文字,预计阅读时间需要4分钟。
一、前言在Thread和Process中,应优先选择Process。因为Process更稳定,且可以分布到多台机器上执行,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块虽然支持多进程,但并不支持跨机器的分布式计算。
一、前言
在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。
Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。可以写一个服务进程作为调度者,将任务分布到其他多个进程中,依靠网络通信进行管理。
二、案例分析
在做爬虫程序时,抓取某个网站的所有图片,如果使用多进程的话,一般是一个进程负责抓取图片的链接地址,将链接地址放到queue中,另外的进程负责 从queue中取链接地址进行下载和存储到本地。
怎么用分布式进程实现?
一台机器上的进程负责抓取链接地址,其他机器上的进程负责系在存储。那么遇到的主要问题是将queue 暴露到网络中,让其他机器进程都可以访问,分布式进程就是将这个过程进行了封装,可以将这个过程称为本地队列的网络化。
本文共计920个文字,预计阅读时间需要4分钟。
一、前言在Thread和Process中,应优先选择Process。因为Process更稳定,且可以分布到多台机器上执行,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块虽然支持多进程,但并不支持跨机器的分布式计算。
一、前言
在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。
Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。可以写一个服务进程作为调度者,将任务分布到其他多个进程中,依靠网络通信进行管理。
二、案例分析
在做爬虫程序时,抓取某个网站的所有图片,如果使用多进程的话,一般是一个进程负责抓取图片的链接地址,将链接地址放到queue中,另外的进程负责 从queue中取链接地址进行下载和存储到本地。
怎么用分布式进程实现?
一台机器上的进程负责抓取链接地址,其他机器上的进程负责系在存储。那么遇到的主要问题是将queue 暴露到网络中,让其他机器进程都可以访问,分布式进程就是将这个过程进行了封装,可以将这个过程称为本地队列的网络化。

