多进程
文章平均质量分 74
给你骨质唱疏松
个人笔记分享
展开
-
Python并发编程之多进程(回调函数callback)
十七.回调函数 (callback)1.什么是回调函数将第一个函数的指针(也就是内存地址,Python中淡化了指针的概念)作为参数传给另一个函数处理, 这第一个函数就称为回调函数2.简单示例def foo(n): print(f"foo输出{n}")def Bar(i,func): func(i)for i in range(3): Bar(i,foo) '''输出foo输出0foo输出1foo输出2'''3.回调函数应用场景当进程池中一个任务原创 2021-01-23 23:50:24 · 4144 阅读 · 0 评论 -
Python并发编程之多进程(进程池的使用)
十五.进程池概念1.什么是进程池?????进程池是资源进程, 管理进程组成的技术的应用.2.为什么要有进程池?????忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。????那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?????首先,创建进程需要消耗时间,销毁进程也需要消耗时间。????第二即便开启了成千上万的进程,操作系统也不能让他们同时执行,这样反而会影响程序的效率。????因此我们不能无限制的根据任务去开启或者结束进程。那么我们要怎么做呢?3.原创 2021-01-23 23:49:06 · 438 阅读 · 0 评论 -
Python并发编程之多进程(信号量,死锁与递归锁,事件 (Event))
十三.信号量 Semaphore (了解)互斥锁同时只允许一个线程修改数据, 而 Semaphore 允许同时有一定数量的进程更改数据, 就像理发店, 比如只有3个托尼老师, 那最多只允许3个人同时理发, 后面的人只能等到有人理完了才能开始, 如果指定信号量为3, 那么来一个人获得一把锁, 计数加1, 当计数等于3时, 后面的人均需要等待 , 一旦释放, 就有人可以获得一把锁from multiprocessing import Semaphore,Processimport time,random原创 2021-01-23 23:47:48 · 289 阅读 · 0 评论 -
Python并发编程之多进程(生产者消费者模型)
十二.生产者消费者模型1.什么是生产者消费者模型生产者 : 程序中负责产生数据的一方消费者 : 程序中负责处理数据的一方2.为什么引入生产者消费者模型在并发编程中, 生产者消费者模式通过一个容器来解决生产者和消费者之间的强耦合性, 两者之间不再是直接通信, 而是通过堵塞队列来进行通信, 生产者(生产速度快)不必再等待消费者是否处理完数据, 消费者直接从队列中取, 该队列就相当于一个缓冲区, 平衡了生产者和消费者的工作能力, 从而提高了程序整体的数据处理速度3.如何实现通过队列 : 生产者-原创 2021-01-23 23:46:34 · 1138 阅读 · 2 评论 -
Python并发编程之多进程(互斥锁,IPC,)
十.进程同步锁(互斥锁/排它锁)上面我们实现了进程的并发, 进程之间的数据是不共享的, 但是他们可以共享同一个文件(硬盘空间), 或者是同一个打印空间, 然而在共享的同时也带来了问题 : 进程的运行不是同时进行的, 它们没有先后顺序, 一旦开启也不受我们的限制, 当多个进程使用同一份数据资源时, 就会引发数据安全或者数据混乱问题1.什么是互斥锁我们打个简单的比方, 公司里的一台打印机, 每个人都可以使用, 但同事只能有一个人在使用, 不然就会造成打印错乱; 又比如合租房的卫生间, 合住的同伴都可以使用原创 2021-01-23 23:45:29 · 357 阅读 · 0 评论 -
Python并发编程之多进程(孤儿,僵尸,守护进程)
七.孤儿进程1.什么是孤儿进程当一个父进程创建了多个子进程, 子进程再创建子子进程等等父进程因正常运行完毕或其他情况被干掉的时候, 它的子进程就变成了孤儿进程为了避免孤儿进程完成任务后没有父亲通知操作系统回收资源于是 PID 为 "1"的顶级进程 systemd 就接手了这个孤儿进程systemd 相当于一个孤儿院, 但凡是孤儿进程都会成为它的子进程2.孤儿进程演示先在一个虚拟终端里开启一个 Bash 进程,把他当做父进程紧接着开启一个 “sleep 1000 &” 进程,原创 2021-01-23 23:43:23 · 678 阅读 · 0 评论 -
Python并发进程之多进程(Process类的使用)
引入在进入多进程的学习之前, 一定需要先了解一个应用程序是如何开启一个进程的, 以及操作系统对进程是如何进行分配资源的, 进程、线程、进程池、进程三态、同步、异步、并发、并行、串行的概念也要非常的明确, 下面将介绍 Python 并发编程之多进程一.multiprocessing 模块介紹1.什么是 multiprocessing 模块multiprocess 模块是 Python 中的多进程管理模块2.multiprocessing 模块简介python中的多线程无法利用多核优势,如果想原创 2021-01-23 23:41:48 · 1641 阅读 · 0 评论