asyncio 的优势与缺点

php中世界最好的语言
Lepaskan: 2017-11-27 15:05:49
asal
3558 orang telah melayarinya

今天给大家asyncio的优点和缺点,学习异步IO一定要知道协程和asynico,那么asyncio到底是什么呢?要怎么使用asyncio呢?下面就给大家一一解答

优势

对异步 IO 任务异常好使

编程模型更加简单,负担比较小:

利用 asyncio 拿到一个 event loop

然后往这个 loop 中塞东西(协程)

操作系统看到的仍然是单线程,但是从宏观角度看到的是“多并发”(每个语言差不多都是这样:在用户态上实现一套多线程模型 )

缺点

生态不成熟( 虽然有 aio-libs),要是 requests 这样的库也有对应的实现就好了(流行度也要高)

有一个前提假定:一个 App 必须从前到后都是异步的,这对许多历史遗留项目是有负担的

与 gevent + Python 2 对比

很多项目都是 Python 2 based,使用 gevent 效果很明显

唯一担心的地方是:gevent 会有很多 patch (hack 标准库),而我们看到的是一个黑盒子,难免不放心

gevent 的效率不一定比 asyncio + async def 那一套的效率低哦

怎么使用

asyncio 作为我们的框架(我比较喜欢标准库有的东西),async def/await 作为基本的设计手段

多多使用 aio-libs 中的各种 lib (必须从头到尾都异步啊!)

相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!


相关阅读:

CSS网页错位怎么处理

怎样用css3做出图标效果

怎样用canvas实现小球和鼠标的互动

Atas ialah kandungan terperinci asyncio 的优势与缺点. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan