摘要: 进程: 数据隔离 数据不安全 操作系统级别 开销大 能利用多核线程: 数据共享 数据不安全 操作系统级别 开销小 不能利用多核 对io操作的感知比较敏感(一些和文件操作相关的io只有操作系统能感知到)协程: 数据共享 数据安全 操作系统不可见的 用户级别的 协程所有的切换都是基于用户的,只能根据用户 阅读全文
posted @ 2020-10-08 16:36 LGQ天 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 什么是池? 在程序开始的时候,还没提交任务先创建几个线程或者进程 放在一个池子里,这就是池为什么要用池? 如果先开好进程或者线程,那么有任务之后就可以直接使用池中的数据 开好的线程或进程会一直存在池中,可以被多个任务反复利用,即谁先执行完谁先被复用 这样极大的减少了开启、关闭、调度的时间开销 池中的 阅读全文
posted @ 2020-10-08 16:24 LGQ天 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 1.线程: 能被操作系统调度(给cpu执行)的最小单位 同一个进程中的多个线程可以同时被CPU执行 数据共享、可以利用多核;数据不安全 开启关闭切换时间开销小 在CPython中的多线程 gc:垃圾回收机制 引用计数 + 分代回收 全局解释器锁的出现主要是为了完成gc的回收机制,对不同线程的引用计数 阅读全文
posted @ 2020-10-08 16:20 LGQ天 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 进程:系统分配资源的最小单位,一般可以理解为"正在运行中的程序" 1.通过multiprocessing模块开启进程 from multiprocessing import Process import os import time import random def func(name, age) 阅读全文
posted @ 2020-09-28 17:09 LGQ天 阅读(171) 评论(0) 推荐(0) 编辑
摘要: # 抢票的例子 import json from multiprocessing import Process, Lock import time def search_ticket_num(i): with open('ticket.txt', encoding='utf-8') as f: ti 阅读全文
posted @ 2020-08-26 08:54 LGQ天 阅读(115) 评论(0) 推荐(0) 编辑
摘要: socket :底层模块 socketserver: 基于socket完成的 处理并发的客户端请求 只针对服务器端的代码作出改变 server端代码示例: import socketserver import time class MyServer(socketserver.BaseRequestH 阅读全文
posted @ 2020-08-26 08:40 LGQ天 阅读(76) 评论(0) 推荐(0) 编辑
摘要: tcp的粘包现象:发送的多条消息在发送到接收的过程中可能会粘在一起 只出现在tcp协议中,因为tcp协议 多条消息之间没有边界,并且还有大量优化算法 发送端:两条消息很短;发送时间间隔也非常短 接收端:多条消息没有及时接收,而堆积在接收方缓存堆里 如何解决: 发送方: 1.计算即将要发送的数据的长度 阅读全文
posted @ 2020-08-26 08:37 LGQ天 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1.__call__ # callable(对象):即判断对象()能不能运行 class A(object): def __call__(self, *args, **kwargs): print(' ') obj = A() print(callable(obj)) obj() # 调用这个类中的 阅读全文
posted @ 2020-08-21 15:20 LGQ天 阅读(88) 评论(0) 推荐(0) 编辑
摘要: class Person(object): def __init__(self, name, age): self.name = name self.age = age def qqxing(self): print('QQ星') alex = Person('alex', 36) # ret = 阅读全文
posted @ 2020-08-21 15:02 LGQ天 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 反射: 用字符串数据类型的名字,来操作这个名字对应的函数/实例变量/绑定方法/各种方法 比如:name = 'alex',你想通过name查询其对应的值,但是你只能得到name的字符串形式'name'所以使用反射 > getattr(obj, obj中字符串形式的变量/方法/类) 反射对象: 1.对 阅读全文
posted @ 2020-08-21 15:00 LGQ天 阅读(262) 评论(0) 推荐(0) 编辑