01 2018 档案
摘要:对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,它会经历两个阶段:1. 等待数据准备 (Waiting for the data to be ready)2. 将数据从内核拷贝到进程
阅读全文
摘要:事件驱动模型: 每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求,网络服务器采用此方式。 目前大部分的UI编程都是事件驱动模型,如很多UI平台都会提供onClick()事件,这个事件就代表鼠标按下事件。事件驱动模型大体思路如下: 1. 有一个事件(消息)队列; 2. 鼠标按下
阅读全文
摘要:协程:又称微线程,纤程。是一种用户态的轻量级线程 拥有自己的寄存器上下文和栈。协程调试切换时,将寄存器上下文和栈保存在其他地方 ,在切回来的时候,恢复先前保存的寄存器上下文和栈 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入
阅读全文
摘要:多进程multiprocessing 多线程适合场景:不适合cpu操作密集型的任务,适合io密集型的任务 多进程适合场景:适合cpu操作密集型的任务 进程启动方法 获取进程id(每个进程都是由父进程启动的) 进程间通讯 不同进程间内存是不共享的,要实现两个进程间的数据交换 Queues 队列(父进程
阅读全文
摘要:进程与线程 进程:以一个整体的形式暴露给操作系统管理,里面包含各种资源的调用,是各种资源的集合(qq) 线程:操作系统最小的调度单位,是一串指令的集合,进程要操作 CPU,必须要先创建一个线程 线程与进程的区别: 1 import threading 2 import time 3 4 5 def
阅读全文
摘要:paramiko模块, 基于SSH用于连接远程服务器并执行相关操作 SSHClient: 用于连接远程服务器并执行基本命令 1 import paramiko 2 3 # private_key = paramiko.RSAKey.from_private_key_file("/root/.ssh/
阅读全文
摘要:socket粘包 原理:服务器端或客户端连续调用2次send时,数据其实并没有立刻被发送出去,而是放到了系统的socket发送缓冲区里,等缓冲区满了、或者数据等待超时了,数据才会被send到客户端,这样就把好几次的小数据拼成一个大数据,统一发送,这么做的目地是为了提高io利用效率,一次性发送总比连发
阅读全文
摘要:socket介绍 建立连接前的【握手】与断开连接的【挥手】都封装在socket中 socket和file区别: file模块针对指定【文件】进行【打开】【读写】【关闭】 socket模块针对【服务器】和【客户端】进行【打开】【读写】【关闭】 socket参数 sk = socket.socket(f
阅读全文
摘要:语法 str.replace(old, new[, max]) 参数 old -- 将被替换的子字符串。 new -- 新字符串,用于替换old子字符串。 max -- 可选字符串, 替换不超过 max 次 re.sub(pattern, repl, string, count=0, flags=0
阅读全文
摘要:静态方法@staticmethod:不可访问类中的变量与方法,唯一的关联就是通过类名去调用 类方法@classmethod:只能访问类变量,不能访问实例变量 属性方法@property:把类里面的方法变成属性,其跟普通类没有关系 属性方法例子 1 class Flight(object): 2 de
阅读全文

浙公网安备 33010602011771号