摘要:
数据存储引擎:核心功能是存储数据 涉及到存储数据的代码 就称之为存储引擎需求场景的不同催生了不同的引擎类别引擎的分类:innodb CSV blackhole memory不同的引擎测试创建表时在最后指定引擎名称 engine = xxxcreate table t1(id int)engine=i 阅读全文
摘要:
数据库文件处理就可以将数据永久存储问题:1.管理不方便2.文件操作效率问题3.一个程序不太可能运行在同一台电脑上 提高计算机性能的方式: 1.垂直扩展 知道是更换性能更好的硬件 2.水平扩展 之的就是添加更多的计算机,把任务分配给每一台分布式计算的好处: 1.其中某一台死机 不会导致整个系统瘫痪 稳 阅读全文
摘要:
提交任务的两种方式: 同步调用:提交完一个任务之后,就在原地等待,等待任务完完整整地运行完毕拿到结果后,再执行下一行代码,会导致任务是串行执行的 异步调用:提交完一个任务之后,不在原地等待,而是直接执行下一行代码,会导致任务是并发执行的p.shutdown(wait=True)关闭进程池的入口,并且 阅读全文
摘要:
GIL全局解释器锁: GIL本质就是一把互斥锁,相当于执行权限,每个进程内都会存在一把GIL,同一进程内的多个线程 必须抢到GIL之后才能使用Cpython解释器来执行自己的代码,即同一进程下的多个线程无法实现并行 但是可以实现并发 在Cpython解释器下,如果想实现并行可以开启多个进程GIL存在 阅读全文
摘要:
生产者消费者模型 生产者:代指生产数据的任务 消费者:代指处理数据的任务该模型的工作方式:生产生产数据传递消费者处理 实现方式:生产者 >队列< 消费者 生产者消费者模型的作用: 当程序中出现明细的两类任务,一类负责生产数据,一类负责处理数据 就可以引入生产者消费者模型来实现生产者与消费者的解耦合, 阅读全文
摘要:
multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数)multiprocessing模块的功能众多:支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。强调:进程修改的数据,改动仅限于该进程内。守护进程其一 阅读全文
摘要:
基于UDP协议的socket1.不需要建立链接2.不需要回复确认socketserver模块 实现并发基于tcp的socket,关键就是两个循环,一个链接循环,一个通信循环socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题)进程:指的是一个正在进行 阅读全文
摘要:
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。 服务端 from socket import * import subprocess import struct import 阅读全文
摘要:
互联网协议:osi七层或tcp/ip五层或tcp/ip四层 物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 数据链路层数据链路层的功能:定义了电信号的分组方式 以太网协议ethernetethernet规定一组电信号构成一个数据包,叫做‘帧’每一数据帧分成: 阅读全文
摘要:
单例模式:多次实例化的结果指向同一个实例单例模式的作用:减少内存空间的使用 实现单例模式的四种方式 方式一: 通过调用类方法 方式二:通过装饰器 方式三:通过元类 方式四:通过模块 模块代码 执行代码 阅读全文