摘要: day36 死锁现象与递归锁 死锁现象 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,如下就是死锁 递归锁 递归锁可以解决死锁现象,业务需要多个锁时, 阅读全文
posted @ 2019-08-29 21:42 SupSnake 阅读(127) 评论(0) 推荐(0) 编辑
摘要: day35 进程:生产者消费者模型 编程思想,模型,设计模式,理论等等,都是交给你一种编程的方法,以后你遇到类似的情况,套用即可 生产者消费者模型的三要素 生产者:产生数据的 消费者:接收数据做进一步处理的 容器:盆(队列) 队列容器起到什么作用? 起到缓冲的作用,平衡生产力与消费力,解耦 线程的理 阅读全文
posted @ 2019-08-29 21:36 SupSnake 阅读(98) 评论(0) 推荐(0) 编辑
摘要: day34 僵尸进程和孤儿进程 基于unix环境(linux,macOS) 主进程需要等待子进程结束之后,主进程才结束 主进程时刻监测子进程的运行状态,当子进程结束之后,一段时间之内,将子进程进行回收 为什么主进程不在子进程结束后马上对其回收呢? 主进程与子进程是异步关系,主进程无法马上捕获进程什么 阅读全文
posted @ 2019-08-29 21:33 SupSnake 阅读(117) 评论(0) 推荐(0) 编辑
摘要: day33 进程创建的两种方式 在windows环境下,开启进程必须在______name______ == "______main______"下面 p.start(): 只是向操作系统发出一个开辟子进程的信号,然后就执行下一行了。 这个信号操作系统接收到之后,会从内存中开辟一个子进程空间,然后再 阅读全文
posted @ 2019-08-20 21:52 SupSnake 阅读(74) 评论(0) 推荐(0) 编辑
摘要: day32 进程的基础 程序 一堆静态的代码文件 进程 一个正在运行的程序进程。抽象的概念 被谁运行? 由操作系统操控调用交于CPU运行 ​ 操作系统 管理控制协调计算机中硬件与软件的关系 操作系统的作用? 如果没有操作系统:你们在开发软件 第一层:对硬件(CPU,内存,磁盘等等)协调,调用 第二层 阅读全文
posted @ 2019-08-20 21:50 SupSnake 阅读(93) 评论(0) 推荐(0) 编辑
摘要: day31 recv工作原理 高大上版解决粘包方式(自定制报头) 我们要制作固定的报头 你现在有两段不固定长度的bytes类型,我们要固定的报头,所以 你获取不固定报头的长度 利用struct模块将不固定的长度转化成固定的字节数4个字节 先发4个字节,再发报头数据,再发总数据 server clie 阅读全文
posted @ 2019-08-20 21:48 SupSnake 阅读(148) 评论(0) 推荐(0) 编辑
摘要: day30 基于TCP协议的socket循环通信 server client 基于TCP协议的socket 链接+循环 通信 代码功能:服务器不会断开,客户端可以断开(且不能输入空字符串) server clicent 基于TCP协议的socket通信:实例:远程执行命令 bates:网络传输,文件 阅读全文
posted @ 2019-08-20 21:44 SupSnake 阅读(96) 评论(0) 推荐(0) 编辑
摘要: day29 socket套接字 socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统. 为什么存在socket抽象层? 如果直接与操作系统数据交互非常麻烦,繁琐,socket对这些繁琐的操作高度的封装,简化. socket在pyth 阅读全文
posted @ 2019-08-20 21:39 SupSnake 阅读(100) 评论(0) 推荐(0) 编辑
摘要: day28 C/S B/S架构 C:client 客户端 B:browse浏览器 S:server 服务端 C/S C/S架构:基于客户端与服务端之间的通信 ​ QQ、游戏、皮皮虾 ​ 优点:个性化设置,响应速度快 ​ 缺点:开发成本,维护成本高,占用空间,用户固定 B/S B/S架构:基于浏览器与 阅读全文
posted @ 2019-08-19 22:02 SupSnake 阅读(231) 评论(0) 推荐(0) 编辑
摘要: day27 面向对象的总结 异常处理 错误的分类 语法错误 逻辑错误 什么是异常? 代码发生异常错误之后,你的程序就中断了 异常处理? 当代码出现异常时,我通过某种方式不让你的程序中断,合理的“跳”过去,异常处理 为什么要有异常处理? 用户体验良好 使你的代码更有健壮性,容错性 异常处理的两种方式 阅读全文
posted @ 2019-08-19 21:55 SupSnake 阅读(93) 评论(0) 推荐(0) 编辑