content:
1. 为什么要多进程编程?和多线程有什么区别?
2. python 多进程编程
3. 进程间通信
=======================================
 
一. 为什么要多进程编程?和多线程有什么区别?
由于GIL的存在,所以对于某一些多线程任务来说,无法利用多核的优势,对这些耗cpu的任务,用多进程反而能利用多cpu。
所以多cpu的操作用多进程编程。
对io操作较多的任务来说,瓶颈不在于cpu,更多的在于io的切换中的消耗和时间等待。用多线程反而能在io挂起的时候,进行线程切换。
虽然io操作多的时候,也可以用多进程编程,但是因为进程的切换系统的代价是十分大的,所以能使用多线程的情况下,尽量用多线程。
 
所以,对于耗费cpu的操作,比如计算、挖矿等,多进程优于多线程。
例:同计算一组斐波拉契数列的时间比较(耗cpu的操作)
#多线程
from concurrent.futures import ThreadPoolExecutor,as_completed
from concurrent.futures import ProcessPoolExecutor
import time
def fib(n):
if n <= 2:
return 1
return fib(n-1)+fib(n-2) with ThreadPoolExecutor(3) as excutor:
all_task=[excutor.submit(fib,(num)) for num in range(25,35)]
start_time=time.time()
for future in as_completed(all_task):
data=future.result()
print("result:{}".format(data))
end_time=time.time()
print("last time : {}".format(end_time-start_time)) #output:
result:75025
result:121393
result:196418
result:317811
result:514229
result:832040
result:1346269
result:2178309
result:3524578
result:5702887
last time : 98.66604399681091
#多进程
from concurrent.futures import ThreadPoolExecutor,as_completed
from concurrent.futures import ProcessPoolExecutor
import time
def fib(n):
if n <= 2:
return 1
return fib(n-1)+fib(n-2)
if __name__ == "__main__":
with ProcessPoolExecutor(3) as excutor:
all_task = [excutor.submit(fib, (num)) for num in range(25, 35)]
start_time = time.time()
for future in as_completed(all_task):
data = future.result()
print("result:{}".format(data))
end_time = time.time()
print("last time : {}".format(end_time - start_time)) #output:
result:75025
result:121393
result:196418
result:317811
result:514229
result:832040
result:1346269
result:2178309
result:3524578
result:5702887
last time : 14.470988988876343
进程和线程的区别:
  • 进程是资源分配的最小单位,线程是程序执行的最小单位。
  • 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。
  • 线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。
  • 但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。
 
二、python 多进程编程
1.from concurrent.futures import  ProcessPoolExecutor
ProcessPoolExecutor 和上一章 讲到的多线程的用法是一样的。包括其中用到的Futures类。
基本看它的入口函数就明白,这里不再赘述。
aaarticlea/png;base64,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RD6BQRYREREREREREfkEBllEREREREREROQTGGQREREREREREZFPYJBFREREREREREQ+gUEWERERERERERH5BAZZRERERERERETkExhkERERERERERGRT2CQRUREREREREREPoFBFhERERERERER+QQGWURERERERERE5BMYZBERERERERERkU9gkEVERERERERERD6BQRYREREREREREfkEBllEREREREREROQTGGQREREREREREZFPYJBFREREREREREQ+gUEWERERERERERH5BAZZRERERERERETkExhkERERERERERGRT2CQRUREREREREREPoFBFhERERERERER+QQGWURERERERERE5BMYZBERERERERERkU9gkEVERERERERERD6BQRYREREREREREfkEBllEREREREREROQTGGQREREREREREZFPYJBFREREREREREQ+gUEWERERERERERH5BAZZRERERERERETkExhkERERERERERGRT2CQRUREREREREREPoFBFhERERERERER+QQGWURERERERERE5BMYZBERERERERERkU9gkEVERERERERERD6BQRYREREREREREfkEBlleIggC4tK34HL/evx4bj2+bn0DJeGC6rxERERERERERLR4DLK8RAjfjitjz+A3kzY/tu5ApOB+mCUIRxGX4ofR5k34emgdfhxfgx9Hn8XdvhdwqWELOtMOQr+I5RG5Q4iIhl9zNrbK7EwKVJ2XaLkdLSvDM1+1OvVca5RqOSI1vP4RERER+R4GWV4ipLyGHyeUQdbMyOvIdzN4EgL8YarbiF/aLUPuUfUe1bJEWghxWdg4fUoRBmwudd6QE4Q4vHJDOf+8W81Ye/UkNr5fjldbUrDbqL4MWj6+fv68EWTtb6lRLatquhpvxfAXCE+rxV7/iIiIiGj5zQdZC4mK4m+5XREi/HBtXBk8/dS+DQY3g6yEwk0uQ6yZibU4n3ZMtSyRFoIxHS/IG3Liv18pdF5vXQYh9m7W4hVTOI6xJ+GK4evnj0HWyiEIAdh1psV2rIZ975dii73+EREREdHyY5DlJYJwDElZr+PqoHWMrDvtW2CKdC94EgL24uyQMrS6Ub0L6eFHoNcdQVTEfhRl70JGEG+uyfuEiDRsUjTkWvBqvvO6tqggRDJdiy0Z7OGwUjxt58+/pkKxvQyy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uBz9GHtkxfmbTWix5iNT5bH15Si0NcHZkPkvJiR6OW/18k+QY7Cd/2/Zzn/pnBPP/6sWvNOaij2R0ufKXitqQYoQHonPLTl477x4zl9rxKo74nzutWDVT/XYMFaG9xpSsTtGWcYf/LH+s/Rcf/Xwx/aXE8Ki8NmJo3hTGnD/Z3E9JuzzXPNtte36+9GxGK/3RF/LL58gqxYfJgoITkrBB+eqsfamuOx3pXtZOTbXmnHAw1hF/r7/ad3+gXr/4/1HaTGv/64EIQKFXzmH5xj7vtCvb/h/Fcw7yIqJca/EExERCXE5OOPolTWAvs74Re+eTa8mqbGa+9BZkT97zbcegURhHbJf5P+bGSm8dhFRAOD9T7+lvP5HVNRiWKwz2+vOnajN1zbUyavMEWSpfUhERDQXqVdWXFMTRmdvyFNnUFfoeRBOIn+RKvI5E+nOiuh/TcDRUgPCwsTKKAMJ8sYgNiSyImB5Ljt+/sOMJB43RBQAeP/TYamv/wk5aH9orzNLBofTEc595jMGWUREpJsQEo2iKz2Om/L4w0aUpPPXJVp48Zecg926au1SHoNhx084jtH5GhpI9lv5V91y2P5Cbhys/+nsxSB38Uk0GxNEFDB8uf/R8rj+C9EpqL/V57hHXbpjQXoAvOF3OWKQRUREfiFEJqPuZ/vNeXyqC20n4virIC04ISUap/5P9Yopg6zlZTkHWSP/IxV1x53TEREtd77c/2h5XP/DC0phfTTzBMNvjShOUZ+O5sYgi4iI/Cc2DfXfNaL6aARDLFo0hiORKPspEZ3/SxqG/nsGLs5UVFmRJ1fyhszF/ycd5//3FLRPmHG00sBrFhEFHN7/5m+5XP8NKVlounYSZZmB8VKU5YpBFhERERERERERBQQGWUREREREREREFBAYZBERERERERERUUBgkEVERERERERERAGBQRYREREREREREQUEBllERERERERERBQQGGQREREREREREVFAYJBFREREREREREQBgUEWEREREREREREFBAZZREREREREREQUEBhkERERERERERFRQGCQRUREREREREREAYFBFhERERERERERBQQGWUREREREREREFBAYZBERERERERERUUBgkEVERERERERERAGBQRYREREREREREQUEBllERERERERERBQQGGQREREREREREVFAYJBFREREREREREQBgUEWEREREREREREFBAZZREREREREREQUEBhkERERERERERFRQGCQRUREREREREREAYFBFhERERERERERBQQGWUREREREREREFBAYZBERERERERERUUBgkEVERERERERERAGBQRYREREREREREQUEBllERERERERERBQQGGQREREREREREVFAYJBFREREREREREQBgUEWEREREREREREFBAZZREREREREREQUEBhkERERERERERFRQGCQRUREREREREREAYFBFhERERERERERBQQGWUREREREREREFBAYZBERERERERERUUBgkEVERERERERERAEgBP8/0KwkfisC2dgAAAAASUVORK5CYII=" alt="" width="497">
 
2.更加底层的multiprocessing
其实在ProcessPoolExecutor底层用的其实也是multiprocessing。
在multiprocess里,有个Progress类。跟Thread用法又是相似的。
#input
from concurrent.futures import ProcessPoolExecutor
import multiprocessing
#多进程编程
import time
def get_html(n):
time.sleep(n)
print("sub_progress sccess")
if __name__=="__main__":
progress = multiprocessing.Process(target=get_html,args=(3,))
print(progress.pid)
progress.start()
print(progress.pid)
progress.join() #output
None
12864
sub_progress sccess
3.继承Progress类(与之前的Thread类一样)
import  multiprocessing
#多进程编程
import time class progress_get_html(multiprocessing.Process):
def __init__(self,n):
self.n=n
super().__init__()
def run(self):
time.sleep(self.n)
print("sub progress success")
class MyProgress(multiprocessing.Process):
def __init__(self,n):
self.n=n
super().__init__()
def run(self):
pro=progress_get_html(self.n)
pro.start()
print("progress end")
if __name__=="__main__":
progress = MyProgress(3)
print(progress.pid)
progress.start()
print(progress.pid)
progress.join() #output:
None
8744
progress end
sub progress success
4.使用进程池
指明进程数,不指明的话,可以直接默认为cpu数(cpu_count() or 1)。
from concurrent.futures import  ProcessPoolExecutor
from multiprocessing import pool
import multiprocessing
#多进程编程
import time
def get_html(n):
time.sleep(n)
print("sub_progress sccess")
return n
if __name__=="__main__":
pool=multiprocessing.Pool(multiprocessing.cpu_count())
result=pool.apply_async(get_html,args=(3,))
print(result.get())
#pool在调用join之前 需要调用close 来让它不再接收任务。否则会报错
pool.close()
pool.join()
print(result.get()) #output
sub_progress sccess
3
3

其他方法:

- imap:按照参数输入顺序
if __name__=="__main__":
pool=multiprocessing.Pool(multiprocessing.cpu_count())
for result in pool.imap(get_html,[1,5,3]):
print("sleep {} successed ".format(result)) #output:
sub_progress sccess
sleep 1 successed
sub_progress sccess
sub_progress sccess
sleep 5 successed
sleep 3 successed

imap_unordered: 按照执行完成顺序

if __name__=="__main__":
pool=multiprocessing.Pool(multiprocessing.cpu_count()) #for result in pool.imap(get_html,[1,5,3]):
# print("sleep {} successed ".format(result))
for result in pool.imap_unordered(get_html,[1,5,3]):
print("sleep {} successed ".format(result)) #output:
sub_progress sccess
sleep 1 successed
sub_progress sccess
sleep 3 successed
sub_progress sccess
sleep 5 successed
三. 进程间通信
与线程间不同的是,线程间同步的类和锁是不可用的。
1.Queue(注意是multiprocessing而不是thread的)
from multiprocessing import Process,Queue
import time
def producer(queue):
queue.put("a")
time.sleep(2)
def consumer(queue):
time.sleep(2)
data=queue.get()
print(data)
if __name__== "__main__":
queue=Queue(10)
my_producer = Process(target=producer,args=(queue,))
my_consumer = Process(target=consumer,args=(queue,))
my_producer.start()
my_consumer.start()
my_producer.join()
my_consumer.join() #outpu:
a
注意:multprocess中的Queue是不能用于pool进程池的
 
2.Manager(与进程池共用)
Manager中有个Queue,如果像实现pool中的进程间通信,需要使用Manager中的Queue。
from multiprocessing import Process,pool,Manager,Pool
import time
def producer(queue):
queue.put("a")
time.sleep(2)
def consumer(queue):
time.sleep(2)
data=queue.get()
print(data)
if __name__== "__main__":
queue=Manager().Queue()
pool=Pool(3)
pool.apply_async(producer,args=(queue,))
pool.apply_async(consumer,args=(queue,))
pool.close()
pool.join() #output:
a
 
3.管道pipe
pipe只能适用于两个指定的进程。
pipe的性能高于queue的,queue加了很多的锁操作。
from multiprocessing import Process,pool,Manager,Pool,Pipe
import time
def producer(pipe):
pipe.send("hello")
def consumer(pipe):
print(pipe.recv())
if __name__== "__main__":
recv_pipe,send_pipe=Pipe()
my_producer=Process(target=producer,args=(send_pipe,))
my_consumer=Process(target=consumer,args=(recv_pipe,))
my_producer.start()
my_consumer.start()
my_producer.join()
my_consumer.join() #output:
hello
4.进程间共享内存操作 Mnager的dict、list、value等。
from multiprocessing import Process,pool,Manager,Pool,Pipe
import time def add_data(p_dict,key,value):
p_dict[key]=value
if __name__ == "__main__":
progress_dict= Manager().dict()
first_progress= Process(target=add_data,args=(progress_dict,"name","tangrong"))
second_progress = Process(target=add_data,args=(progress_dict,"age",""))
first_progress.start()
second_progress.start()
first_progress.join()
second_progress.join()
print(progress_dict) #output:
{'name': 'tangrong', 'age': ''}
在使用的时候,可以用Manager中的数据结构,但是注意数据同步(LOCK,RLOCK等)

PythonI/O进阶学习笔记_11.python的多进程的更多相关文章

  1. PythonI/O进阶学习笔记_10.python的多线程

     content: 1. python的GIL 2. 多线程编程简单示例 3. 线程间的通信 4. 线程池 5. threadpool Future 源码分析   ================== ...

  2. PythonI/O进阶学习笔记_5.python的set和dict

    前言: 我一直觉得对我来说学习知识很忌讳不系统.本篇内容与上一篇 自定义序列类是有联系的. 上一篇比较通范的了解了序列类的一些协议和特性,并且有些list的内容.这篇更加具体到set和dict这两个序 ...

  3. PythonI/O进阶学习笔记_8.python的可迭代对象和迭代器、迭代设计模式

     content: 1.什么是迭代协议 2. 什么是迭代器(Iterator)和可迭代对象(Iterable) 3. 使用迭代器和可迭代对象 4. 创建迭代器和可迭代对象 5. 迭代器设计模式   一 ...

  4. PythonI/O进阶学习笔记_7.python动态属性,__new__和__init__和元类编程(上)

    content: 上: 1.property动态属性 2.__getattr__和__setattr__的区别和在属性查找中的作用 3.属性描述符 和属性查找过程 4.__new__和__init__ ...

  5. PythonI/O进阶学习笔记_9.python的生成器

     content: 1. 什么是生成器 2. 生成器的实现 3. 生成器的应用   一.生成器简介 1.什么是生成器     在 Python 中,使用了 yield 的函数被称为生成器(genera ...

  6. PythonI/O进阶学习笔记_1.抽象、面向对象、class/object/type

    前言: 是自己在学习python进阶IO学习视频的时候的理解和笔记,因为很多都是本菜鸟学习时候的自己的理解,有可能理解有误. Content: - 抽象的概念和面向对象的概念?想要大概了解python ...

  7. PythonI/O进阶学习笔记_3.2面向对象编程_python的继承(多继承/super/MRO/抽象基类/mixin模式)

    前言: 本篇相关内容分为3篇多态.继承.封装,这篇为第二篇 继承. 本篇内容围绕 python基础教程这段: 在面向对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法.使 ...

  8. PythonI/O进阶学习笔记_6.对象引用,可变性和垃圾回收

    前言: 没有前言了- -......这系列是整理的以前的笔记上传的,有些我自己都忘记我当时记笔记的关联关系了. 记住以后 笔记记了就是用来复习的!!!不看不就啥用没了吗!!! content: 1.p ...

  9. PythonI/O进阶学习笔记_3.1面向对象编程_python的多态和鸭子类型

    前言: 与第一篇的面向对象内容不同的是,第一篇中的面向对象更多的是与类.对象结合起来的概念粗浅理解,就是在编程历史中诞生的一种思想方法. 这篇的面向对象编程,更多落实到在语言设计实现中,是如何体现面向 ...

随机推荐

  1. 配置DNS代理

  2. H3C IP地址与子网掩码

  3. H3C命令调试debugging--用户视图

    <H3C>terminal debugging     //使用debugging必须使用的命令--打开调试信 息的屏幕输出开关 <H3C>display debugging  ...

  4. vue-learning:16 - js - computed

    computed 在指令章节讲过,插值{{ }}和指令都接受变量和表达式的写法,使用表达式可以进行简单的二元或三元运算.但如果要执行更加复杂的计算或频繁重复的计算,如果还是直接写在指令的表达式中会让代 ...

  5. 装饰器&偏函数与作用域与异常处理与文件读写

    装饰器 概念:是一个闭包,把一个函数当做参数返回一个替代版的函数,本质上就是一个返回函数的函数 简单的装饰器 def func1(): print("sunck is a good man& ...

  6. 台州学院第十二届校赛记录(B,C,E,H,I,J,L)

    传送门:点我 题目很棒,感谢出题验题的大佬们. 细节坑不少,是好事. 还是很菜,继续加油! B: 桃子的生日 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KBy ...

  7. 【NOIP数据结构专项】单调队列单调栈

    [FZYZ P1280 ][NOIP福建夏令营]矩形覆盖 Description 有N个矩形,矩形的底边边长为1,且均在X轴上,高度给出,第i个矩形的高为h[i],求最少需要几个矩形才能覆盖这个图形. ...

  8. 【Linux】centos查看防火墙是否关闭

    查看防火墙的状态的命令为: sudo systemctl status firewalld 打开防火墙的方式有两种,一种是打开后重启会恢复回原来的状态,命令为: sudo systemctl star ...

  9. Linux 创建网络会话

    Linux 创建网络会话 RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似于firewalld防火墙服务中的区域技术).如果我们在公司网络中使用笔记本电脑时需要手动指定网络的 ...

  10. Mysql(超级详细)

    Mysql(超级详细) (黑小子-余) 一.Mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理 ...