协程之gevent
迭代器:
一个实现了__iter__方法和__next__方法的对象,就是迭代器。
生成器:
生成器是一类特殊的迭代器
简单来说:只要在def中有yield关键字的 就称为 生成器
yield关键字有两点作用:
* 保存当前运行状态(断点),然后暂停执行,即将生成器(函数)挂起
* 将yield关键字后面表达式的值作为返回值返回,此时可以理解为起到了return的作用
使用next()函数来唤醒生成器继续执行外,还可以使用send()函数来唤醒执行
协程创建:
import gevent
def f(n):
for i in range(n):
print(gevent.getcurrent(), i)
g1 = gevent.spawn(f, 5)
g2 = gevent.spawn(f, 5)
g3 = gevent.spawn(f, 5)
g1.join()
g2.join()
g3.join()