摘要: 昨日回顾 进程互斥锁 ​ 让并发变成串行,牺牲了效率,保证效率安全. 队列 ​ 相当于在内存中开启了一个空间,可以存放一堆数据,这堆数据都得遵循‘先进先出’. ​ 管道 (阻塞) + 锁 进程间通信 ​ 通过队列让进程间实现通信. 生产者与消费者 ​ 生产者:生产数据的 ​ 消费者:使用数据的 ​ 阅读全文
posted @ 2019-10-24 10:22 shinzz 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。 阅读全文
posted @ 2019-10-22 21:19 shinzz 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 昨日回顾 操作系统发展史 穿孔卡片 联机批处理 脱机批处理 多道技术: ​ 单道:多个程序一串串执行 ​ 多道: ​ 切换+保存状态 空间上的复用 一个计算机(CPU)的空间可以提供给多个程序使用. 时间上的复用 当前程序遇到IO操作,就会立马切换CPU的执行权限 当前程序使用CPU时间过长,就会立 阅读全文
posted @ 2019-10-22 19:27 shinzz 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 上节课回顾 1. 粘包问题: 1. 无法确认发送数据的大小。 2. 短时间内发送多次数据量小并且间隔时间短的数据会一次性打包发送。 2. struct 1. 可以将一个很长的数据,压缩成固定的长度,比如4. 3. 解决粘包问题: 1. 通过struct模块弄一个报头。 可以把字典压缩成一个报头,发送 阅读全文
posted @ 2019-10-21 22:14 shinzz 阅读(88) 评论(0) 推荐(0) 编辑
摘要: subprocess模块 1. 可以帮你通过代码执行操作系统的终端命令。 2. 并返回终端执行命令后的结果。 粘包问题 服务端第一次发送的数据,客户端无法精确一次性接收完毕。 下一次发送的数据与上一次数据粘在在一起了。 1. 无法预测对方需要接收的数据大小长度。 2. 多次连续发送数据量小、并且时间 阅读全文
posted @ 2019-10-20 14:09 shinzz 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1.整理TCP三次握手、四次挥手图 三次握手 四次挥手 2.基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意: 执行系统指令使用subprocess模块完成. 服务端 客户端 阅读全文
posted @ 2019-10-17 21:45 shinzz 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 软件开发架构 客户端:用户安装的软件; 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。 c/s架构 ​ 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。 架构要求: 1. 用户操作系统安装 阅读全文
posted @ 2019-10-17 19:32 shinzz 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 昨日回顾: ​ 1.组合 ​ 一个类产生的对象是另一个对象的属性 ​ 组合是为了减少代码的冗余。 2.封装 ​ 什么是封装: ​ 特征:属性属性,即类中的变量 ​ 技能:方法属性,即类中的函数 ​ 把一堆属性(特征与技能)封装一个对象中,对象就好比一个袋子。 ​ 封装的目的: ​ 封装的目的是为了可 阅读全文
posted @ 2019-10-12 21:17 shinzz 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1、定义MySQL类 1.对象有id、host、port三个属性 2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一 3.提供两种实例化方式,方式一:用户传入host和port 方式二:从配置文件中读取host和port进行实例化 4.为对象定制方法,save和get_o 阅读全文
posted @ 2019-10-11 22:16 shinzz 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 昨日回顾 1. 继承 ​ 新建类的方式,新建的类称之为子类或派生类,继承的类称之为父类,也叫基类或超类 2. 继承的目的 ​ 解决代码的冗余问题 3. 寻找继承关系 ​ 先抽象,再继承 4. 什么是抽象 ​ 抽取类相似的部分 5. 在继承背景下对象属性的查找顺序 从对象 从子类 从父类 6. 派生 阅读全文
posted @ 2019-10-11 22:09 shinzz 阅读(108) 评论(0) 推荐(0) 编辑