• 欢迎关注我的微信公众号!点击

Python多进程的简单使用

Python 大坚果 6年前 (2018-06-10) 3442次浏览 0个评论 扫描二维码

多进程与多线程的区别

对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个 Word 就启动了一个 Word 进程。

有些进程还不止同时干一件事,比如 Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。

多进程

Python 中使用多进程,可是实现多个任务同时运行,而不需等待一个任务完成才进行下一个。

这里使用multiprocessing模块,实例如下(来自廖雪峰的网站):

Process

创建子进程时,只需要传入一个执行函数和函数的参数,创建一个 Process 实例,用 start()方法启动,这样创建进程比 fork()还要简单。join()方法可以等待子进程结束后再继续往下运行,通常用于进程间的同步。

Pool

如果要启动大量的子进程,可以用进程池的方式批量创建子进程:

Pool对象调用join()方法会等待所有子进程执行完毕,调用join()之前必须先调用close(),调用close()之后就不能继续添加新的Process了。

 

 

 


墨痕|畅所欲言的小笔记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python多进程的简单使用
喜欢 (1)

您必须 登录 才能发表评论!