对协程比较困惑,各位大佬能给一点非爬虫的协程应用示例吗?
1
linvaux 2020-08-30 22:36:57 +08:00 1
grequests
|
2
qdcanyun 2020-08-30 22:56:08 +08:00 1
可以看下这个 David Beazley 的 [Python Concurrency From the Ground Up]( ),跟着写一遍就能理解了
|
3
anyuhanfei 2020-08-31 09:12:06 +08:00 1
python 的 websockets 就需要用到协程 https://websockets.readthedocs.io/en/stable/
|
4
butterfly1211 2020-08-31 09:56:27 +08:00
sanic, tornado 等 web 框架
|
7
naldo0193 OP @anyuhanfei 非常感谢
|
8
naldo0193 OP @butterfly1211 非常感谢
|
9
lolizeppelin 2020-08-31 10:44:52 +08:00
eventelt 源码读懂就行了,你比看任何东西都有效
|
10
zyx199199 2020-08-31 14:24:32 +08:00
可以看一下《流利的 Python 》这本书。书里对协程的用法举了好几个不同的例子。
简单的例子有不断计算平均数( running average ):定义一个函数,不断调用这个函数,传入新的数字作为参数,输出当前传入的参数与之前所有传入过的参数的平均数。 复杂的例子有使用协程做离散事件的模拟:模拟了 N 辆出租车一天中的各种事件,出车、空跑、载客、下班等等事件。 |
11
fasionchan 2020-08-31 15:48:00 +08:00 1
再造轮子,自制一个协程库,你就什么都明白了~
我写过一个 100 行左右的协程库,虽然是个玩具,对理解协程运行机制应该很有帮助,gist 地址如下: https://gist.github.com/fasionchan/48d595b2e77b82f44ad92fc419543a41 例子来自我写的专栏《 Python 源码深度剖析》,里面有详细讲解: https://www.imooc.com/read/76 。 专栏是付费的,不过有几篇是免费的,还可以自己选一篇试读。可以选择试读《再造轮子:手把手教你设计协程库》这篇,里面完整介绍了协程的运行机制、协程库设计思想以及示例协程库代码解析。 |
13
naldo0193 OP @fasionchan 非常感谢
|