摘要:
作业 阅读全文
摘要:
[TOC] 数据库的安装 一:数据库是什么 字面意思: 存数据的仓库 二:为啥使用数据库?( ) 之前使用的是Excel来进行管理数据, Excel的缺点: 1. 管理不了大量的数据 (10W量级的数据) 2. 并发操作同一个数据表格 3. 数据支持高级的操作, 比如:分组,连表等 三:数据库的分类 阅读全文
摘要:
[TOC] Event事件 Event事件的作用 用来控制线程的执行 通过一些线程可以去控制另一些线程 使用方法 线程池与进程池 什么是进程池与进程池: 进程池与线程池是用来控制当前程序允许创建(进程/线程)的数量 进程池与线程池的作用 保证在硬件允许的范围内创建(进程/线程)的数量 使用方法 协程 阅读全文
摘要:
[TOC] GIL全局解释器锁 GIL全局解释器锁:基于cpython来研究解释器锁 1. GIL本质上是一个互斥锁 2. GIL的目的是为了阻止同一个进程内多个线程同时执行(并发) 单个进程下的多个线程无法实现并行,但是能实现并发 3. 这把锁主要是因为cpython的内存管理不是“线程安全”的 阅读全文
摘要:
```python # 服务端 import socket from threading import Thread server=socket.socket() server.bind( ('127.0.0.1',8888) ) server.listen(5) def task(conn): while True: data=conn.recv(1024) print(data.decode( 阅读全文
摘要:
[TOC] 进程互斥锁 让并发变成串行,牺牲了执行效率,保证了数据的安全 在程序并发执行时,需要修改数据时使用。 队列:先进先出 相当于内存中产生一个队列空间,可以存放多个数据,但数据的顺序是由先进去的的排在前面。 堆栈:先进后出 相当于内存中产生了一个队列空间,可以存放多个数据,但数据的顺序是由先 阅读全文
摘要:
[TOC] 操作系统的发展史 手工操作——穿孔卡片 一个计算机机房,一次只能被一个卡片使用。 1946年第一台计算机诞生 20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机 阅读全文
摘要:
[TOC] 网络编程二 subprocess模块 1.可以帮你通过代码执行操作系统的终端命令。 2.并返回终端执行命令后的结果。 struct模块 是一个可以将很长的数据的长度,压缩成固定的长度的一个标记(数据报头)。 粘包问题 服务端第一次发送的数据,客户端无法精确一次性接受完毕。下一次发送的数据 阅读全文
摘要:
TCP 三次握手 首先Client(客户)端发送连接请求报文,Server(服务器)段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。 最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接 阅读全文
摘要:
[TOC] 网络编程(一) 1.软件开发架构: 开发软件,必须要开发一套 客户端 与 服务端。 客户端与服务端的作用 服务端: 24小时不间断提供服务 客户端: 如果想要找服务,就去寻找服务并享受 软件开发架构分为两种: C/S架构: Client: 客户端 Server: 服务端 优点: 软件的使 阅读全文