Skip to content

Commit

Permalink
vault backup: 2024-11-20 17:14:48
Browse files Browse the repository at this point in the history
Affected files:
.obsidian/workspace.json
_posts/pool/2024-11-14-深入理解Python异步编程(上).md
  • Loading branch information
cmgzn committed Nov 20, 2024
1 parent d32bbab commit b616cee
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 14 deletions.
8 changes: 4 additions & 4 deletions .obsidian/workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
"state": {
"type": "markdown",
"state": {
"file": "_posts/pool/2024-11-14-深入理解 Python 异步编程(上).md",
"file": "_posts/pool/2024-11-14-深入理解Python异步编程(上).md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "2024-11-14-深入理解 Python 异步编程(上)"
"title": "2024-11-14-深入理解Python异步编程(上)"
}
}
]
Expand Down Expand Up @@ -185,13 +185,13 @@
"obsidian-excalidraw-plugin:新建绘图文件": false
}
},
"active": "5368d045abb8511f",
"active": "f880743501d2682d",
"lastOpenFiles": [
"_posts/coding/2024-11-20-Python-asyncio异步转同步.md",
"_posts/coding/2024-08-13-python开多进程.md",
"_posts/coding/2024-08-13-Python获取类的属性.md",
"_posts/debug/2024-09-12-记一次离奇的linux-ssh登录bug.md",
"_posts/pool/2024-11-14-深入理解 Python 异步编程(上).md",
"_posts/pool/2024-11-14-深入理解Python异步编程(上).md",
"_posts/pool/2024-11-14.md",
"_posts/pool/2024-11-15.md",
"pool",
Expand Down
12 changes: 2 additions & 10 deletions _posts/pool/2024-11-14-深入理解Python异步编程(上).md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,6 @@ description: "深入理解 Python 异步编程(上). GitHub Gist: instantly
tags:
- clippings
---
> 原文:[Python开发者](http://mp.weixin.qq.com/s?timestamp=1503898327&src=3&ver=1&signature=jgDuptszJeugXo-qGESqon1Mn4knGgIqRF*hbjYl60ywDMomkzm0zFZKStraJer2kRC3bcx*9lxpjxa5IXwVKWw2U4HZCszdut2zIPQk3bUMUUpDsiaBz2OA0LhymLUuyZCx0J3yVFDAR65cgfPA4WCysJ6V00KSrHmEqFwk5B8=)
(点击上方蓝字,快速关注我们)

> 来源:阿驹的自荐投稿(微信公号:驹说码事) 
>
> 如有好文章投稿,请点击 → 这里了解详情
前言

很多朋友对异步编程都处于“听说很强大”的认知状态。鲜有在生产项目中使用它。而使用它的同学,则大多数都停留在知道如何使用 Tornado、Twisted、Gevent 这类异步框架上,出现各种古怪的问题难以解决。而且使用了异步框架的部分同学,由于用法不对,感觉它并没牛逼到哪里去,所以很多同学做 Web 后端服务时还是采用 Flask、Django等传统的非异步框架。
Expand Down Expand Up @@ -588,7 +580,7 @@ yield from 是Python 3.3 新引入的语法(PEP 380)。它主要解决的就

asyncio是Python 3.4 试验性引入的异步I/O框架(PEP 3156),提供了基于协程做异步I/O编写单线程并发代码的基础设施。其核心组件有事件循环(Event Loop)、协程(Coroutine)、任务(Task)、未来对象(Future)以及其他一些扩充和辅助性质的模块。

在引入asyncio的时候,还提供了一个装饰器@asyncio.coroutine用于装饰使用了yield from的函数,以标记其为协程。但并不强制使用这个装饰器。
在引入asyncio的时候,还提供了一个装饰器`@asyncio.coroutine`用于装饰使用了yield from的函数,以标记其为协程。但并不强制使用这个装饰器。

虽然发展到 Python 3.4 时有了yield from的加持让协程更容易了,但是由于协程在Python中发展的历史包袱所致,很多人仍然弄不明白生成器和协程的联系与区别,也弄不明白yield 和 yield from 的区别。这种混乱的状态也违背Python之禅的一些准则。

Expand Down Expand Up @@ -645,4 +637,4 @@ asyncio是Python 3.4 试验性引入的异步I/O框架(PEP 3156),提供了

相关代码

[http://github.com/denglj/aiotutorial](http://github.com/denglj/aiotutorial)
[aiotutorial](http://github.com/denglj/aiotutorial)

0 comments on commit b616cee

Please sign in to comment.