予非池物
这个作者很懒,什么都没留下…
展开
-
python socket上传文件、上传数据非粘包版本
【代码】python socket上传文件、上传数据非粘包版本。原创 2023-06-02 10:20:31 · 130 阅读 · 0 评论 -
python粘包问题
1. 什么是粘包?首先,只有TCP有粘包现象,UDP没有粘包。粘包问题主要是因为接收方消息之间的界限一次性提取多少字节的数据所造成的。客户端发送两包数据,原本服务端是一包数据一包数据的接收,但是服务端可能一次都收到了全部数据,并认为这是一包数据,这就是粘包。协议是面向流的协议 :当send一条信息时,无论底层怎样分段分片,TCP协议层会把构成整条信息的数据段排序完成后才呈现在内核缓冲区。即面向流的通信是无消息保护边界的。应用程序看到的数据是一个整体,或称为一个流(),而。原创 2023-05-31 17:11:28 · 834 阅读 · 0 评论 -
python 网络编程(简单代码)
【代码】python 网络编程(简单代码)原创 2023-05-17 09:46:52 · 158 阅读 · 0 评论 -
python文件上传
【代码】python文件上传。原创 2023-05-17 10:10:17 · 193 阅读 · 0 评论 -
python进程
python的线程是os(系统相关、目录及文件操作、执行命令和管理进程)原生的(不是被模拟出来的),是真实的操作系统线程,会被全局解释器锁(GIL)束缚,所以同一时刻只能有一个线程拥有python解释器的使用权。然后,把该进程放入进程的就绪队列。3)进程控制块:进程控制块是用来记录进程的外部特征,描述进程的执行变化过程,系统可以用它来控制和管理进程,它是系统感知进程存在的唯一标记。有新请求,进程池未满,创建一个新进程,如进程池已满,请求会被等待,直到进程池中有进程停下来,该请求才会被执行。原创 2023-05-16 10:46:54 · 297 阅读 · 0 评论 -
过滤列表中的指定元素
把fruit列表中的“莓”类的水果筛选出来方法一 使用for循环和一。内置函数filter接受两个参数,第一个参数是一个,第二个参数是一个。该函数会对可迭代对象中的每个元素都调用函数,并返回函数返回值为True的元素。列表推导式需要中,因此它会比生成器推导式消耗更多的内存。当处理数据量非常大时,如果使用列表推导式可能会导致或者。而生成器推导式则可以在迭代过程中,从而和提。原创 2023-05-12 11:29:53 · 592 阅读 · 0 评论 -
python列表平铺
4.map(func,*iterable):func函数作用于iterable中的每个元素。大多数情况下不知道最深的嵌套是第几层,所以每次只能使用。start---指定相加的参数,如:没有指定默认为0;iterable---可迭代对象、列表、元组、集合;原创 2023-05-12 09:28:28 · 913 阅读 · 0 评论 -
MySql的乐观锁和悲观锁
悲观锁:悲观锁(Pessimistic Lock),顾名思义就是很悲观.每次去操作数据的时候,都会认为别人会修改.所以为了防止别人修改,就在操作的时候上锁.这样别人来访问的时候就会阻塞在那里直到锁被是释放.传统的关系型数据库里面就用到了很多这种锁机制,比如行锁,表锁,读锁,写锁等,都是在操作之前先上锁.使用场景:商品goods表中有一个字段status,status为1代表商品未被下单,status为2代表商品已经被下单,那么我们对某个商品下单的时候必须确保该商品status为1.假设商品id为1.# e原创 2022-12-07 11:10:42 · 735 阅读 · 0 评论 -
Python全局解释器锁或GIL锁
GIL锁: Python全局解释器锁或GIL是一种互斥锁(或锁),仅允许一个线程持有Python解释器的控制权。这意味着在任何时间点只能有一个线程处于执行状态。对于执行单线程程序的开发人员而言,GIL的影响并不明显,但它可能是CPU绑定和多线程代码的性能瓶颈。python中为何会有GIL锁? Python使用引用计数进行内存管理。这意味着用Python创建的对象具有引用计数变量,该变量跟踪指向该对象的引用数。当此计数达到零时,将释放对象占用的内存。多个线程同时对一个值进行增加/减少的操作。如果发生这种情况,原创 2022-12-07 11:06:49 · 568 阅读 · 0 评论 -
迭代器、可迭代对象、生成器、生成器对象
生成器函数执行的时候会调用python内置generator类创建生成器对象,与该生成器对象关联的generator类里也实现了__iter__,__next__方法,# 创建生成器对象(内部是根据生成器类创建generator创建的对象,生成器类的内部也声明了:__iter__,__next__方法)# 如果一个类中有__iter__方法且返回一个迭代器对象,我们称以这个类创建的对象为可迭代对象。所以可以认为生成器是一种特殊的迭代器,生成器对象和迭代器对象也被认为是一样的。可迭代对象、生成器,实现。原创 2022-11-04 08:59:46 · 239 阅读 · 0 评论 -
装饰器@语法糖
装饰器原创 2022-10-08 11:37:10 · 303 阅读 · 0 评论 -
python内存管理&垃圾回收原理
“引用计数器为主,标记清除和分代回收为辅,+缓存机制。”1.引用计数器:1.1 环状的双向链表refchain:在python程序中,创建的任何一个对象都会加入到这个 refchain双向链表中。例:name = 'wuhan'new = name操作系统会在内存中开辟一块空间存name这个对象,在内存中会为name这个对象创建一些数据 (即,一个结构体,包括上一个对象位置、下一个对象位置,本数据的数据类型,本数据的引用个数...原创 2022-03-11 16:26:09 · 1172 阅读 · 0 评论 -
Python 直接赋值、浅拷贝和深度拷贝解析
Python直接赋值、浅拷贝和深度拷贝解析原创 2022-09-19 11:03:36 · 243 阅读 · 0 评论