摘要: IO多路复用 传统方法,使用多进程并发模型,每进来一个新的i/o流都会单独去分配一个新的进程去管理(开辟出无限个进程,增加系统负担,导致崩溃死机) 后来使用i/o多路复用(利用单个线程,通过记录和跟踪每个i/o流状态,来同时管理多个i/o连接) select , poll ,epoll 都是i/o多 阅读全文
posted @ 2020-08-13 17:46 左晓龙 阅读(72) 评论(0) 推荐(0) 编辑
摘要: send方法 yield表达式有一个返回值,send方法的作用就是控制这个返回值,send的参数就是yield表达式的返回值。我们来看一下官方文档上关于send的定义 generate.send(value): 生成器的send(value)方法会将value值“发送”给生成器中的方法。value参 阅读全文
posted @ 2020-08-13 17:38 左晓龙 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 1.栈 1.1特性:先进后出 class Stack(): def __init__(self): #使用列表充当栈这个数据结构的容器 self.items = [] def push(self,item): #一定是从栈顶向栈底添加元素 self.items.append(item) def po 阅读全文
posted @ 2020-08-13 13:49 左晓龙 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 内存管理 python为了避免重复创建和销毁一些常见对象,内部维护了一些池 int 小数据池-5~257 str unicode_latin1[256] 字符池,字符串驻留机制 free_list(缓冲池) float、 list、 tuple、(按元组内元素个数分别存储在free_list中) d 阅读全文
posted @ 2020-08-13 13:40 左晓龙 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是每一个结点(数据存储单元)里存放下一个结点的信息(即地址) # 节点的封装 class Node(): def __init__(self,item): self.item = item # 向 阅读全文
posted @ 2020-08-13 11:51 左晓龙 阅读(166) 评论(0) 推荐(0) 编辑