文章分类 -  4. 网络编程基础

摘要:一、IO多路复用 IO多路复用中包括 select、pool、epoll,这些都属于同步而非异步 a.select: 通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操 阅读全文
posted @ 2018-01-10 23:19 不知所以 阅读(97) 评论(0) 推荐(0)
摘要:一、概念说明 a. 用户空间与内核空间 现在操作系统都是采用虚拟存储器,对于32位操作系统而言,它的寻址空间(虚拟存储空间)为2^32=4G 操作系统的核心是内核,内核独立于普通应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限,用户进程不能直接操作内核 操作系统将虚拟空间划分为内核 阅读全文
posted @ 2018-01-09 23:31 不知所以 阅读(49) 评论(0) 推荐(0)
摘要:一、事件驱动 通常,我们写服务器处理模型的程序时,有以下几种模型: (1)每收到一个请求,创建一个新的进程,来处理该请求; (2)每收到一个请求,创建一个新的线程,来处理该请求; (3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求 上面的几种方式,各有千秋, 第(1)中方 阅读全文
posted @ 2018-01-09 23:10 不知所以 阅读(84) 评论(0) 推荐(0)
摘要:一、协程 协程:用户态轻量级线程,串行,无需锁 协程拥有自己的寄存器上下文和栈,能保留上一次调用时的状态,线程的上下文保存在cpu的寄存器中 CPU识别线程但不识别协程,协程由用户自己控制 好处: 无需线程上下文切换的开销 无需原子操作(不会被线程调度机制打断)锁定及同步的开销 方便切换控制流,简化 阅读全文
posted @ 2017-12-20 23:31 不知所以 阅读(84) 评论(0) 推荐(0)
摘要:一、进程数据共享 二、进程池 阅读全文
posted @ 2017-12-20 17:39 不知所以 阅读(87) 评论(0) 推荐(0)
摘要:一、进程 二、进程Queue 阅读全文
posted @ 2017-12-05 11:10 不知所以 阅读(80) 评论(0) 推荐(0)
摘要:一、队列类型 二、生产者消费者模型 三、边生产边消费 阅读全文
posted @ 2017-11-25 16:16 不知所以 阅读(125) 评论(0) 推荐(0)
摘要:一、GIL 二、线程锁(互斥锁) 多数据共享(不加线程锁Python2可能出现下列情况,据说Python2每执行100条指令切换一次GIL,Python3已优化)流程图: 三、递归锁 原理:递归锁每开一把门,会在字典里面存一份数据,退出的时候根据门(key)找到这个钥匙(value)退出 四、信号量 阅读全文
posted @ 2017-11-11 14:46 不知所以 阅读(113) 评论(0) 推荐(0)
摘要:一、概述 二、多线程实例 1. 直接调用 2. 继承式调用 阅读全文
posted @ 2017-11-07 19:47 不知所以 阅读(109) 评论(0) 推荐(0)
摘要:paramiko模块:用于SSH连接远程服务器并执行相关操作 一、SSHClient SSHClient :用于连接远程服务器并执行基本命令 二、SFTPClient SFTPClient:用于连接远程服务器并执行上传下载 阅读全文
posted @ 2017-11-07 14:34 不知所以 阅读(100) 评论(0) 推荐(0)
摘要:1 目录结构: 2 ---lib 3 |---aa.py #存在类A 4 |---testlib 5 |---bb.py #存在类B 6 ---test_in.py #执行文件 7 8 # 动态导入模块 9 # 前提条件:知道模块的字符串形式 10 # __import__导入只能从第一层开始使用 11 a... 阅读全文
posted @ 2017-09-13 10:23 不知所以 阅读(91) 评论(0) 推荐(0)