摘要:
什么是数据库? 1.用来存储数据的仓库,数据库可以在硬盘及内存中存储数据 2.用于存放数据库的计算机 3.数据库管理系统 数据库与文件存储数据的区别: 数据库本质也是通过文件来存储数据,数据库的概念通过系统的管理存储数据的文件 数据库介绍 数据库服务器端:mysqld存放数据库的主机集群 数据库客户 阅读全文
摘要:
阻塞:遇到IO操作就会发生阻塞,程序一旦遇到阻塞操作停在原地,立刻释放cpu资源 非阻塞:没有遇到IO操作,或者通过某种手段让程序即便是遇到IO操作也不会停在原地,执行其他操作,力求尽可能多的占用cpu 阻塞,非阻塞(就绪,运行) 同步与异步指的是提交任务的两种方式 同步调用:提交任务后,停在原地等 阅读全文
摘要:
异步回调 1.以爬取网站数据为例 ①异步提交任务,等所有任务执行完毕后,串行解析 缺点:任务的返回值不能得到即使的处理,必须等到任务都完成后,一起拿到结果,串行解析 ②爬取和解析放在一个函数内,实现了并发解析,相当于给线程加了一个任务 爬取和解析耦合性强 ③ 主进程交给子进程一个任务,子进程在执行完 阅读全文
摘要:
GIL 什么是GIL 全局解释器锁,本质是一把互斥锁,是加在cpython解释器上的一把锁, 同一个进程内的所有线程需要先抢到GIL锁,才能执行python代码 为什么要有GIL cpython解释器的内存管理机制是非线程安全的 GIL与自定义互斥锁的区别: 相同:都是互斥锁 不同:GIL是加在解释 阅读全文
摘要:
什么是线程: 1.线程是cpu最小的执行单位 2.进程是资源单位 3.如果将操作系统比作工厂的话,进程是车间,线程是流水线,而cpu为电源 开启一个进程默认有一个线程即主线程 多线程的好处:①当遇到IO操作时,可以将主进程分为多个线程,cpu遇到IO可能会切换到该进程的其他线程,cpu在线程间切换, 阅读全文
摘要:
守护进程: b 进程守护 a进程,当a进程执行完毕时,b进程会跟着立马结束 守护进程用途: 如果父进程结束了,子进程无需运行了,就可以将子进程设置为父进程的守护进程 例如我们qq视频聊天时,当我们退出qq时,视频界面会跟着退出,视频就是qq的守护进程 守护进程语法: p.daemon = True 阅读全文
摘要:
操作系统: 第一代计算机:真空管,穿孔卡片 没有操作系统,直接操作硬件 优点:程序员独享计算机资源,可以及时调试bug 缺点:计算机资源浪费,当程序员出现bug调试时,计算机闲置 第二代计算机:晶体管,批处理系统 针对第一代计算机的缺点: 1.将多人的程序攒成一波输入 2.顺序计算,串行 3.将多个 阅读全文
摘要:
粘包: 传输层协议有tcp和udp两种 tcp:Transmission Control Protocol 传输控制协议,基于数据流,收发的消息不能为空,需要在客户端和服务端都添加空消息的处理机制 tcp是可靠性协议,数据的收发都需要确认信息,这就降低了传输效率,故为了减少确认次数,tcp采用了na 阅读全文
摘要:
```python
服务器
from socket import *
server = socket(AF_INET,SOCK_STREAM)#创建服务器对象,套接字家族,面向网络,选择tcp协议,udp(DGRAM)
HOST = "127.0.0.1"#设置服务器ip
PORT = 8888#设置端口
BASE_SIZE = 1024#设置接收文件上限
server.bind((HOST,P... 阅读全文
摘要:
异常 网络编程 异常: 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止) 异常分两种:逻辑错误,语法错误 没运行时,语法错误会被python解释器检测到, 程序运行时,会报逻辑错误 常用语法: try except 网络编 阅读全文