理解生成器 定义生成器 yield关键字,可以让我们定义一个生成器函数。 def generator_func(): print('a') yield 1 g = generator_func() print(g)>>> <generator object generator_func at 0x1 ...
分类:
其他好文 时间:
2019-10-05 16:04:59
阅读次数:
69
协程 任务对象绑定回调 多任务异步协程 多任务异步爬虫 aiohttp使用 案列 ...
分类:
编程语言 时间:
2019-10-05 14:10:21
阅读次数:
88
主协程如何等其余协程完再操作 主协程自我阻塞,直到需要的协程完成 阻塞方法 使用sync.WaitGroup()管理其余协程 优点:操作简单 缺点:不能管控协程的执行完成的顺序 利用缓存管道进行协程之间的通信 优点:能够管控一组协程结束 缺点:不能管控协程的执行完成顺序 利用无缓存管道进行协程之间的 ...
分类:
其他好文 时间:
2019-10-05 01:04:48
阅读次数:
118
协程工作的特点是遇到阻塞或耗时的任务时就切换,协程的生存依赖于线程,线程依赖于协程 一个似乎有点问题的例子 输出结果: 貌似这样的结果并未能达到我们所期待的并发效果,任务仍旧是按部就班的执行。答案在于使用gevent时,相关的一切都要更换成gevent的 耗时,阻塞部分换成gevent库的实现 输出 ...
分类:
编程语言 时间:
2019-10-04 18:54:42
阅读次数:
150
和列表那种一下占据长度为n的内存空间不同的是,生成器在调用的过程中逐步占据内存空间,因此有着很大的优势 一个斐波纳契数列的例子 运行 :myfibbo(10) 一个生成器版本的例子 输出结果: ...
分类:
编程语言 时间:
2019-10-04 16:39:20
阅读次数:
66
一般认为迭代器就是实现了两个方法__iter__和__next__ 先创建这样一个类 输出结果: 通过在mycoach类的方法__iter__中返回classiterable实现了mycoach和classiterable类之间的联系 实现classiterator访问mycoach类中的属性 输出 ...
分类:
编程语言 时间:
2019-10-04 13:10:19
阅读次数:
75
协程:单线程下的并发,又称为微线程,纤程。一句话说明什么是协程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 协程是基于单线程实现并发,即只用一个主线程(cpu只用一个),为实现并发,先认识并发本质(切换+保存状态) cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切 ...
分类:
其他好文 时间:
2019-10-04 00:04:09
阅读次数:
86
py服务端面试总结 课程内容回顾 课程体系(上) 面试技巧篇 py语言篇 算法与数据结构篇 编程范式篇 操作系统篇 课程体系(下) 网络编程篇 数据库篇 Web框架篇 系统设计篇 面试经验总结 py基础高频考点 py语言基础考察点 py特性:装饰器,生成器与协程,异常处理 常用内置模块:collec ...
分类:
其他好文 时间:
2019-10-03 12:40:31
阅读次数:
87
工作的流程是这样:某个协程在栈上创建task对象,在task对象内有需要返回的cv::Mat。 然后把task放到另一个线程上去执行,然后切换到别的协程,等到工作线程执行完task后,再唤醒协程。 这时候协程内去访问cv::Mat使用是empty。 同样的代码,task对象不是在栈上创建,而是new ...
分类:
移动开发 时间:
2019-10-03 00:40:56
阅读次数:
166
关于Tornado的入门看这篇文章,写的非常好: https://zhuanlan.zhihu.com/p/37382503 Tornado 是一个Python web框架和异步网络库,使用非阻塞网络I/O。 Tornado可以被分为4个主要的部分: web框架 HTTP的客户端和服务端实现 异步网 ...
分类:
编程语言 时间:
2019-10-02 22:34:21
阅读次数:
114