摘要: 流Stream是处理网络连接的async/await的高层级原语。流允许发送和接收数据,而不需要使用回调或低级协议传输。 Stream函数 coroutine asyncio.open_connection(host=None,port=None, *,limit=None, ssl=None, f 阅读全文
posted @ 2022-07-15 21:30 店里最会撒谎白玉汤 阅读(104) 评论(0) 推荐(0)
摘要: multiprocessing.shared_memory(3.8)提供了一个SharedMemory类,用于分配和管理进程间的共享内存。 该模块中共享内存指的是System V类型的共享内存块,这种类型的共享内存允许不同进程读写一片公共的易失性存储区域。 通常,进程被限制只能访问属于自己进程空间的 阅读全文
posted @ 2022-07-07 17:16 店里最会撒谎白玉汤 阅读(575) 评论(0) 推荐(0)
摘要: concurrent.futures提供了线程池ThreadPoolExecutor、进程池ProcessPoolExecutor接口。 concurrent.futures.Executor Executor是一个抽象类,ThreadPoolExecutor和ProcessPoolExecutor 阅读全文
posted @ 2022-07-06 22:01 店里最会撒谎白玉汤 阅读(519) 评论(0) 推荐(0)
摘要: multiprocessing通过使用子进程而非线程有效的绕过了全局解释器锁。multiprocessing可以利用cpu的多核性能。multiprocessing的Api与threading类似 Process类 开启子进程的方法 spawn 启动一个全新的python解释器进程,子进程不继承父进 阅读全文
posted @ 2022-07-06 18:20 店里最会撒谎白玉汤 阅读(89) 评论(0) 推荐(0)
摘要: python中可以使用thread(_thread)、threading和Queue模块来实现多线程编程。thread的功能没有threading强大、完善,而且当主线程结束时其它线程会强制退出,不会发出警告也不会进行适当的清理。所以最好使用threading,threading功能更完善,而且当重 阅读全文
posted @ 2022-07-01 23:08 店里最会撒谎白玉汤 阅读(57) 评论(0) 推荐(0)
摘要: 事件循环event loop 是asyncio的核心,会运行异步任务和回调,执行网络IO操作,运行子进程。 一个事件循环同一时刻只运行一个任务,只是利用了任务的等待时间,当某个任务需要等待某种资源or某种操作完成的时候,event loop转去调度其他task让其运行。 获取事件循环 asyncio 阅读全文
posted @ 2022-06-26 23:10 店里最会撒谎白玉汤 阅读(1266) 评论(0) 推荐(0)
摘要: asyncio还是一个python的单进程单线程程序,比较适合处理那些需要等待的任务。比如网络通信。 async的核心是一个事件循环event loop。event loop控制着任务的调度运行。同时执行的任务只有一个不存在系统级上下文切换和线程不一样。不存在竞争冒险问题,可以明确知道每个task什 阅读全文
posted @ 2022-06-25 00:12 店里最会撒谎白玉汤 阅读(237) 评论(0) 推荐(0)
摘要: 生成器 生成器是一个函数,按照顺序返回一个或多个值。含有关键字yield的函数就是生成器。 def fib(n): a = 0 b = 1 for i in range(n): if not i: yield 1 else: a, b = b, a+b yield b for i in fib(5) 阅读全文
posted @ 2022-06-24 13:31 店里最会撒谎白玉汤 阅读(86) 评论(0) 推荐(0)
摘要: 可迭代对象与迭代器 可迭代协议:可迭代对象必须包含__iter__方法,并且返回一个的迭代器。 满足可迭代协议的对象称为可迭代对象。可迭代对象即可使用for …… in的对象。 迭代协议:满足迭代协议的对象时迭代器。 包含__iter__方法,并且该方法返回迭代器本身 包含__next__方法,调用 阅读全文
posted @ 2022-06-23 22:47 店里最会撒谎白玉汤 阅读(117) 评论(0) 推荐(0)
摘要: 上下文管理器提供了一种申请资源和释放资源的方法,并且能保证离开上下文管理器时,一定会执行释放资源的操作,从语言角度来讲仅可能避免了资源的泄露。 “资源泄漏” 是一个统称,不仅包含了内存泄漏,还包含了文件描述符或句柄泄漏、数据库连接泄漏等,所以后续本文统一使用 “资源泄漏”。 在进入上下文管理器时,先 阅读全文
posted @ 2022-06-23 20:11 店里最会撒谎白玉汤 阅读(46) 评论(0) 推荐(0)