wtf
摘要: 1.Event事件的作用: 用来控制线程的执行,由一些线程去控制另一些线程。 2.进程池与线程池。 1)什么是进程池与线程池? 进程池与线程池是用来控制当前程序允许创建(进程/线程)的数量。 2)进程池与线程池的作用 保证在硬件允许的范围内创建(进程/线程)的数量。 3)如何使用: 3.协程 进程: 阅读全文
posted @ 2019-10-24 21:23 wtfss 阅读(108) 评论(0) 推荐(0)
摘要: 1.GIL全局解释器锁 基于CPython来研究全局解释器锁。 1.GIL本质上是一个互斥锁,相当于执行权限,每个进程内都会存在一把GIL。 2.GIL为了阻止同一个进程内多个线程同时执行(并行) 单个进程下的多个线程无法实现并行,但能实现并发。 3.这把锁主要是因为CPython的内存管理不是“线 阅读全文
posted @ 2019-10-23 20:18 wtfss 阅读(118) 评论(0) 推荐(0)
摘要: 写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。 阅读全文
posted @ 2019-10-22 21:43 wtfss 阅读(80) 评论(0) 推荐(0)
摘要: 昨日回顾: 1.多道技术: ​ 单道:多个程序一串串执行。 ​ 多道:切换+保存状态。 ​ 1)空间上的复用:一个计算机(CPU)的空间可以提供给多个程序使用。 ​ 2)时间上的复用: ​ 当前程序遇到IO操作,就会立马切换CPU执行权限。 ​ 当前程序使用CPU时间过长,就会立马切换CPU的执行权 阅读全文
posted @ 2019-10-22 20:34 wtfss 阅读(96) 评论(0) 推荐(0)
摘要: 1.粘包问题: 1)无法确认发送数据的大小。 2)短时间内发送多次数据量小并且间隔短的数据会一次性打包发送。 2.struct: 可以将一个很长的数据,压缩成固定的长度。 3.解决粘包问题: 1)通过struct模块弄一个报头,可以把字典压缩成一个报头,发送给服务端。 2)服务端接收到报头后解压缩, 阅读全文
posted @ 2019-10-21 19:56 wtfss 阅读(100) 评论(0) 推荐(0)
摘要: 1.subprocess模块: 可以帮你通过代码执行操作系统的终端命令,并返回终端执行命令后的结果。 2.粘包问题 服务端第一次发送的数据,客户端无法精确一次性接受完毕。下一次发送的数据与上一次数据粘在一起了。 无法预估对方需要接受的数据大小长度。多次连续发送数据量小、并且时间间隔短的数据一次性打包 阅读全文
posted @ 2019-10-18 20:39 wtfss 阅读(149) 评论(0) 推荐(0)
摘要: 1.TCP三次握手、四次挥手图 2.基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意: 执行系统指令使用subprocess模块完成. 阅读全文
posted @ 2019-10-17 22:15 wtfss 阅读(147) 评论(0) 推荐(0)
摘要: 网络编程 并发编程 数据库开发 web前端 1.软件开发架构: 开发软件,必须要开发一套客户端与服务端。 客户端与服务端的作用: 服务端:24小时不间断提供服务 客户端:如果想要找服务,就去寻找服务并享受 软件开发架构分为两种: ​ C/S架构:Client(客户端)Sever(服务端) ​ 优点: 阅读全文
posted @ 2019-10-17 19:43 wtfss 阅读(100) 评论(0) 推荐(0)
摘要: 一、classmethod 翻译:一个类方法。 classmethod是一个装饰器,可以装饰给类内部的方法,使该方法绑定给类来使用。 对象的绑定方法特殊之处 由对象来调用,会将对象当作第一个参数传给该方法。 类的绑定方法特殊之处 由类来调用,会将类当作第一个参数传给该方法。 二、staticmeth 阅读全文
posted @ 2019-10-12 18:33 wtfss 阅读(121) 评论(0) 推荐(0)
摘要: 1、定义MySQL类 (参考答案:http://www.cnblogs.com/linhaifeng/articles/7341177.html _label5) 1.对象有id、host、port三个属性 2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一 ​ 3.提供 阅读全文
posted @ 2019-10-11 21:31 wtfss 阅读(153) 评论(0) 推荐(0)