摘要:
粘包问题 产生原因 1.两个数据非常小,同时间隔时间短 2.数据太大,一次性取不完,下一次还取这个数据 解决方法 在数据传输之前,传一个数据的大小,数据的大小必须定长度 基于UDP协议的socket套接字编程 UDP无连接 服务端 客户端 基于socketserver实现并发的socke 阅读全文
摘要:
[TOC] 并发编程 守护进程 若a为b的守护进程,a进程结束,b进程未结束,则会等待进程结束后结束整体进程; b进程结束,a进程未结束,则会立即结束整体进程 进程安全问题 当并发的多个任务要同时操作公共资源时,就是造成数据错乱的问题 解决方法就是讲并发操作编程串行操作,但是牺牲了效率,提升了安 阅读全文
摘要:
GIL 什么是GIL锁 全局解释器锁 在CPython中,全局解释器锁(GIL)是一个互斥锁,是为了阻止多个本地线程在同一时间执行python字节码,因为cpython的内存管理是非线程安全的,这个锁是非常必要的,因为他越来越多的特性依赖这个特性 为什么需要这把锁 线程安全问题具体的表现 cpyth 阅读全文
摘要:
[TOC] IO模型 模型:解决某个问题的固定套路 IO:输入输出 IO问题:当输入数据时CPU需要等待很长一段时间(对于cpu而言),在这时间段CPU处于闲置状态,造成了资源浪费 IO有很多类型:socket网络IO,内存到内存的copy,等待输入等;网络IO需要等待时间是最长的(重点关注) 目的 阅读全文