- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 Python实现多线程
Python实现多线程一、什么是线程二、Python的GIL三、Python的线程与threading模块3.1 两种调用方式3.1.1 直接调用3.1.2 继承式调用3.2 threading.Thread 的实例方法3.2.1 join()$Daemon()3.2.2 其他方法四、同步锁五、递归锁六、同步条件event七、信号量八、线程队列九、生产者消费者模型 --通过线程队列实现一、什么是线程线程 可以理解为在进程中独立运行的子程序,是操作系统能够运行调度的最小单位。举个不是特别恰当的例子,
2020-07-23 00:08:43 636 1
原创 socketsever实现并发代码
socketsever模块1.基于TCP2.基于UDP1.基于TCP服务端#TCP 服务端import socketserverclass MyServer(socketserver.BaseRequestHandler): def handle(self): #通信循环 print("conn is: ",self.request) #conn print("addr is:
2020-07-11 23:17:25 213
原创 粘包
粘包一、什么是粘包二、为什么会粘包三、粘包解决思路一、什么是粘包粘包是指发送方发送的若干数据到接收方,而接收方在接收数据时这些数据粘在一起,后一包数据头紧接着前一包数据尾部。二、为什么会粘包首先了解一下socket收发消息原理:底层原理参考另一篇:socket收发消息底层原理在发数据时,一条数据的大小对应用程序是不可见的,即接收端从自己缓存区接收数据时,根本不知道自己要从缓存区接受多少数据。那为什么只用TCP有粘包现象,而UDP没有?TCP 是面向连接的,面向流的,提供高可靠性服务。
2020-07-10 00:00:41 1783
原创 socket收发消息底层原理
socket收发消息原理服务端和客户端想要通信,底层需要internet物理连接,网卡配备有IP地址和MAC地址,网卡收发的消息是字节流。服务端程序和客户端程序工作中应用层,服务端程序要想发包,必须一层一层往下走,走到网卡那一层,将数据转化成二进制才能送到客户端 ,客户端网卡收到包,一层一层往上送,然后客户端程序才能接收到数据。客户端发包服务端接收也是如此。内存分为用户态和内核态。简单来说,内核态内存是操作系统运行时内核代码占用的内存;用户态是用户程序运行时占用的内存。两者不能混在一起,操作系统的一个
2020-07-09 23:30:59 1043
原创 socket编程
sokcet编程一、什么是socket二、分类三、套接字工作流程四、基于TCP的套接字五、基于UDP的套接字一、什么是socketsocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。它把复杂的TCP/IP协议隐藏在socket接口的后面,对使用者而言,一组接口就是全部,让socket去组织数据。二、分类常用的三类TCP/IP协议的套接字:流式套接字(SOCK_STREAM):流式套接字用于提供面向链接、可靠的数据传输服务,使用TCP协议。数据报套接字(SOCK_DG
2020-07-03 19:07:54 308
原创 Python基础之异常
异常一、什么是异常二、常见异常三、异常处理(一)若异常发生的条件可预知,可使用 if 处理,在错误发生前预防(二)若异常发生的条件未可知,可使用try...except,在错误发生前预防(1)基本语法(2)多分支(3)万能异常Exception(4)else代码块(5)finally代码块(6)主动触发异常(7)自定义异常(8)断言:assert(9)总结 try...except一、什么是异常异常 是程序运行时发生错误的信号,每当发生让Python不知所措的错误时,都会创建一个创建一个异常对象。若异常
2020-06-30 10:52:05 220
基于51单片机的简易脉冲频率及占空比测量器
2020-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人