摘要:
多线程 1. 线程的理论知识 1. 什么是线程 当开启一个进程的时候:内存中开辟空间,加载资源与数据,调用CPU执行,可能还会使用这个空间的资源。 定义:每个进程都有一个地址空间,而且默认就有一个控制线程。进程只是把资源集中到一起(进程可以认为是一个含有代码的空间),而线程才是CPU的执行单位。 多 阅读全文
摘要:
进程之间的通信 1. 互斥锁 进程之间数据不共享,但共享同一套文件系统,或同一个打印终端是没有问题的。但共享导致了竞争,若不加以控制就会造成错乱。如下: 使用加锁可以使并发变成串行,牺牲效率,避免竞争 利用多进程抢票: 虽然可以用文件共享数据实现进程间通信,但问题是: 1. 效率低(共享数据居于文件 阅读全文
摘要:
多进程 1. multiprocessing模块 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子 阅读全文
摘要:
操作系统 1. 操作系统 1. 定义 操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。 2. 作用 操作系统第一个作用:将一些丑陋复杂的硬件操作封装成美丽的接口,便于使用. 如果没有操作系统,你去写一个程序,你只要完成两层即可. 第一层: 你要学会底层硬件:cpu,内存,磁盘是如 阅读全文
摘要:
一、粘包 1. 粘包现象 以上两个服务器和客户端,当服务端发送的内容超过1024时,客户端并不会将内容一次全部读取出来,而会在客户端下次输入命令时将上次剩余的内容读取出来,而下次命令的结果又会滞留到下下次。这种现象就是粘包,它与系统缓冲区有关。 | | 服务端 | 客户端 | | | | | | 阅读全文
摘要:
scoket套接字 1. socket socket又称套接字,他是应用层与TCP/IP协议族通信的中间软件抽象层,他是一组接口。在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在socket接口后面,对用户来说,一组简单的接口就是全部,让socket去组织数据, 阅读全文
摘要:
网络协议 1. C\S架构,B\S架构 C:客户端Client B:浏览器Browser S:服务器Server C\S架构就是说Client\Server架构:比如QQ,微信,游戏等(软件);打印机(硬件) 优点: 安全性高,个性化设置,功能全面.响应速度快. 缺点: 开发成本高,维护成本 阅读全文
摘要:
异常处理 1. 异常和错误 错误分类 1. 语法错误(必须在程序运行前改正) 2. 逻辑错误 异常 异常就是程序运行时发生错误的信号,异常发生之后代码就执行不了了 种类:在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标 阅读全文
摘要:
面向对象之反射,双下方法 1. 反射 定义:主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中一切皆对象(都可以使用反射) 对对象的反射 对类的反射 对当前模块的反射 sys.modules是一个全局字 阅读全文
摘要:
面向对象之类的成员 1. 类的组成成员 类的组成成员包含以下几种:静态属性、私有静态属性、对象属性、私有对象属性、普通方法、私有方法、类方法、静态方法、属性、特殊方法。 2. 类的私有成员 公有成员:在任何地方都能访问 私有成员:只有在类的内部才能访问 静态属性 公有静态属性:类可以访问,类的内部可 阅读全文