07 2018 档案

摘要:线程 : 开启线程: from threading import Thread t = Thread(target = func, args =(i,) t.start() # 开始线程 t.clock() # 关闭向操作系统申请线程 Thread的方法: 锁 : 互斥锁 Lock 在一个线程中不能 阅读全文
posted @ 2018-07-30 18:10 Begin_Again 阅读(129) 评论(0) 推荐(0)
摘要:进程是计算机中最小的资源分配单位在利用多个CPU执行的过程中,对多个程序的资源进行管理和隔离进程的弊端开启和关闭 以及 切换 都会带来很大的时间开销过多的进程还会造成操作系统调度的压力线程线程是CPU调度的最小单位每个进程中至少有一个线程实际上执行代码的是线程线程属于进程进程负责获取操作系统分配给我 阅读全文
posted @ 2018-07-27 16:34 Begin_Again 阅读(137) 评论(0) 推荐(0)
摘要:进程 进程三状态 同步异步阻塞非阻塞进程是计算机中最小的资源分配单位进程的创建 Process进程之间的异步 本身子进程主进程之间都是异步的进程之间的同步控制 Lock Semaphore Event进程之间的数据隔离 本身进程与进程之间都是数据隔离的进程之间通信 IPC 管道 pipe 队列 Qu 阅读全文
posted @ 2018-07-27 16:31 Begin_Again 阅读(265) 评论(0) 推荐(0)
摘要:进程池 # 异步的 apply_async# 1.如果是异步的提交任务,那么任务提交之后进程池和主进程也异步了, #主进程不会自动等待进程池中的任务执行完毕# 2.如果需要主进程等待,需要p.join # 但是join的行为是依赖close# 3.如果这个函数是有返回值的 # 也可以通过ret.ge 阅读全文
posted @ 2018-07-27 16:28 Begin_Again 阅读(122) 评论(0) 推荐(0)
摘要:进程是不能无限开启的 如果必须要用多个进行 而且是高计算型 没有IO操作的程序 希望并行最充分的使用cpu 阅读全文
posted @ 2018-07-26 16:44 Begin_Again 阅读(133) 评论(0) 推荐(0)
摘要:什么是消费者生产者模型: 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者 阅读全文
posted @ 2018-07-26 16:41 Begin_Again 阅读(151) 评论(0) 推荐(0)
摘要:IPC :进程之间的通信 1.管道(pipe) 1.1 特点: 两边都可以进出 数据不安全 1.2 方法: 2.队列(Queue) 2.1 本质: 管道 + Lock(锁) 遵循先进先出的原则 2.2 特点: 永远不可能出现数据不安全的情况 多个经常不会同时取走一个数据 2.3 方法: 2.4 更高 阅读全文
posted @ 2018-07-26 16:27 Begin_Again 阅读(146) 评论(0) 推荐(0)
摘要:1.进程中间的数据是隔离的 1.1经常与经常之间是不能自由的交换内存数据的 1.2全局的变量在子进程中修改,主进程和其他进程是感知不到而且不变的2.守护进程 2.1 特点 生命周期只有和主经常的代码有关系,和其他子经常没有关系 守护经常会在主进程的代码执行完毕之后直接结束,无论守护经常是否执行完毕 阅读全文
posted @ 2018-07-25 16:48 Begin_Again 阅读(207) 评论(0) 推荐(0)
摘要:进程包 mulitiprocessing 1.创建进程的模块 1.1 引入模块 form multiprocessing import Process 1.2 使用模块 Process p = Process(target = func,args = (1,)) 创建一个进程对象 target : 阅读全文
posted @ 2018-07-25 16:44 Begin_Again 阅读(208) 评论(0) 推荐(0)
摘要:进程理论 操作系统: 多道技术 :能够同时执行多个任务,空间隔离,和时空的服用,遇到I\0操作切换 实时技术 : 分时技术 : 每一个程序轮替一个时间片,任然切换给其他程序进行计算 时间片:每一个程序能够连续使用cpu的时间称为一个时间片 进程 :是个资源分配单位 同步:顺序的执行不同程序 异步:同 阅读全文
posted @ 2018-07-25 16:40 Begin_Again 阅读(122) 评论(0) 推荐(0)
摘要:os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..')#和文件夹相关 os.m 阅读全文
posted @ 2018-07-10 20:40 Begin_Again 阅读(90) 评论(0) 推荐(0)
摘要:和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。 表示时间的三种方式 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:0 阅读全文
posted @ 2018-07-10 20:38 Begin_Again 阅读(110) 评论(0) 推荐(0)
摘要:logging日志模块 低配版 高配版 collections 模块 提供特殊的数据类型模块 from collections import namedtuple #对应值的元组point = namedtuple('Point',['x','y']) p = point(10,30) # p = 阅读全文
posted @ 2018-07-09 20:50 Begin_Again 阅读(124) 评论(0) 推荐(0)
摘要:序列化模块: 为了将数据用于网络传输. 文件的读写操作. 序列化: 将数据转化成序列化字符串. 反序列化: 将序列化字符串转化成原数据. json: 优点:不同语言的数据传输 缺点:只支持str,int,list,dict,bool. 老男孩官网 有微信支付功能. 两对 四个方法: dumps lo 阅读全文
posted @ 2018-07-05 21:36 Begin_Again 阅读(98) 评论(0) 推荐(0)
摘要:isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 其他特殊的魔法方法 __len__ : 实例化对象之后使用len()函数 就会自动触发类__len__方法 __hash__ : 实例 阅读全文
posted @ 2018-07-04 15:19 Begin_Again 阅读(107) 评论(0) 推荐(0)
摘要:@property #伪属性 def bmi(self): pass 类(对象).bmi #查看伪属性 @bmi.setter #设置,修改伪属性 类(对象).bmi = '123' #触发设置伪属性 @bmi.deleter # 删除伪属性 类(对象).bmi = '123' #触发删除伪属性 @ 阅读全文
posted @ 2018-07-03 16:59 Begin_Again 阅读(88) 评论(0) 推荐(0)
摘要:继承: 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 当类是经典类时,多继承情况下,会按照深度优先方式查找 当类是新式类时,多继承情况下,会按照广度优先方式查找 阅读全文
posted @ 2018-07-02 15:30 Begin_Again 阅读(367) 评论(0) 推荐(0)