进程
俞泰鑫
这个作者很懒,什么都没留下…
展开
-
Python 进程池拷贝目录下所有普通文件,并实时打印拷贝的百分比速度
思路:有一个文件,就向进程池中去添加一个事件from multiprocessing import Poolimport os#创建消息队列,将子进程中各个文件的拷贝进度发送给父进程,否则父进程无法统计拷贝进度q = Queue()#拷贝文件事件函数,参数从功能出发:需要知道从哪个文件拷贝到哪个文件def copy_file(file,old_dir,new_dir): #以只读...原创 2019-12-09 13:55:36 · 271 阅读 · 0 评论 -
python 进程池
适用于有大量的事件,每个事件的执行时间不长的情况创建进程池,放入适当的进程from multiprocessing import PoolPool(processes)功能:创建进程池对象参数:指定进程数量,默认根据系统自动判定将事件加入进程池队列执行pool.apply_async(func,args,kwds)功能:使用进程池执行 func事件参数:func ...原创 2019-12-09 12:44:41 · 141 阅读 · 0 评论 -
python 基于os.fork()多进程的tcp通信并发模型
服务端'''1.创建监听套接字2.循环等待客户端连接3.客户端连接创建新的进程为客户端服务4.元进程继续等待其他客户端连接5.客户端退出,对应的进程也销毁'''from socket import *import osimport signal#全局变量:有一定特殊含义,或者多个函数都要使用的变量,定义为全局变量HOST = '0.0.0.0'PORT = 8888A...原创 2019-12-09 10:41:44 · 374 阅读 · 0 评论 -
python避免产生僵尸进程的方式
子进程先于父进程退出,父进程又没有处理子进程大的退出状态,此时子进程会存留PCB在内存中,大量这样的子进程(僵尸进程)会浪费系统的内存资源以下为解决方式:wait()阻塞等待回收子进程缺点:父进程会阻塞,影响运行效率pid,status = os.wait()功能:在父进程中阻塞等待处理子进程退出返回值:pid 退出的子进程的PID status 子进程退出状态import ...原创 2019-12-08 14:54:36 · 1621 阅读 · 0 评论 -
python 进程相关函数
os.getpid()功能:获取一个进程PID返回值:返回当前进程的PIDos.getppid()功能:获取父进程的PID号返回值:返回父进程的PIDos._exit(status)功能:结束一个进程参数:进程的终止状态,一般传个0表示正常退出sys.exit([status])结束一个进程参数:整数表示退出状态,字符串表示退出时打印内容获取PID示例...原创 2019-12-08 12:13:37 · 267 阅读 · 0 评论 -
python os.fork()创建子进程详解
import os#父进程会打印,子进程不会打印这句,因为子进程从for()的下面开始执行print('=======================')#在内存中开辟了空间a = 1#父进程创建子进程,子进程完全复制父进程的代码段和内存空间,且子进程从这句代码的下面开始执行#父进程有的返回值num为子进程的PID,子进程的返回值num为0num = os.fork() #...原创 2019-12-08 11:54:15 · 295 阅读 · 0 评论 -
python multiprocessing模块子进程函数传参
from multiprocessing import Processfrom time timport *def worker(sec,name): for i in range(3): sleep(sec) print('I am %s'%name) print('I am working...')##使用 args=(xxx,xxx) 位置传参#p = Proces...原创 2019-11-11 21:13:34 · 2730 阅读 · 0 评论 -
python自定义进程类(multiprocessing)
python自定义进程类我们自己不了解操作系统内部是如何创建进程的,需要继承Process类调用一些父类的一些方法创建步骤继承Process类重写__init__方法添加自己的属性,使用super()加载父类属性重写run()方法(基类的接口方法,里面什么都没做,就是让子类去重写的)from multiprocessing import Process#自定义类class M...原创 2019-11-11 20:43:54 · 2037 阅读 · 0 评论 -
python的multiprocessing模块
python自己封装的进程模块,可在各个操作系统下使用(可移植性好)在这个方法中,所有的事情可以分配给各个子进程去做,父进程专门用于创建子进程和回收子进程'''multiprocessing模块创建进程1.编写子进程执行函数2.创建进程对象3.启动进程4.回收进程'''import multiprocessing as mpfrom time import sleep#全局...原创 2019-11-11 20:20:55 · 164 阅读 · 0 评论 -
python 使用多进程爬取网页url放入redis列表中
把URL地址放到列表中知识点:1.生产者消费者模型2.爬虫3.自定义进程类,实例化对象,该对象可以当做父进程执行,类中的方法当做子进程来执行import redisfrom multiprocessing import Processimport timeimport randomclass XiaomiSpider(object): #用初始化函数创建redis对象 de...原创 2019-11-11 19:30:06 · 771 阅读 · 0 评论