有没有专门讲协程的书?

2017-05-11 14:57:25 +08:00
 hard2reg
在京东上搜了下好像没有专门讲 Python asyncio 的书- -感觉这方面好抽象,想买本细讲协程的书啃啃。
5699 次点击
所在节点    Python
16 条回复
KIDJourney
2017-05-11 15:08:13 +08:00
有专门讲进程的书吗?
有专门讲线程的书吗?

可能有 paper,应该没有书。
echo1937
2017-05-11 15:28:33 +08:00
流畅的 Python

勉强可以算一本.
eclipselu
2017-05-11 15:34:13 +08:00
David Beazley 有一个 Coroutine Tutorial 可以看看。
wingor
2017-05-11 15:34:29 +08:00
laike9m
2017-05-11 15:49:24 +08:00
真没必要花时间学 asyncio,api 太多太杂,不如学 curio,或者直接用别人包装好的库如 aiohttp
wqlin
2017-05-11 15:55:08 +08:00
协程不是实现并发的一种方式吗?
zhengxiaowai
2017-05-11 16:06:48 +08:00
http://www.dabeaz.com/coroutines/

你先把这个看完,里面有 PPT 和相关主题
应该没有比这个更好的资料了吧
hitmanx
2017-05-11 16:09:44 +08:00
@KIDJourney 有啊,讲操作系统的书里都会系统地讲进程和线程的,深一点的会把常见操作系统里的实现也一并讲了
sunqb
2017-05-11 16:12:03 +08:00
首先知道什么是协程,它在操作系统资源里面对应什么
KIDJourney
2017-05-11 16:37:52 +08:00
@hitmanx 这叫专门讲进程吗。
MasterMonkey
2017-05-11 22:42:16 +08:00
我个人的理解協程更多的是一种理念, 有多种实现方式,如果能结合一种实现深入了解一下,会很有帮助。

C# 用状态机和来实现,理解起来非常直观,用 async await 写几个函数,然后用 ILSPY 看一下编译器最终转换后的代码,一下就能领会意图了。

Python 的话,进化的不够优雅,从框架上来讲,不太直观。试试从#的 async await🍉
araraloren
2017-05-12 08:39:51 +08:00
@MasterMonkey
协程是一种用户态的线程
不考虑性能 ,自己在 linux 使用 *context 系列的函数就能实现
状态机是可以用协程来实现的
看一看底层 的实现就会明白了,原理挺简单的一个东西
SuperShuYe
2017-05-12 09:15:25 +08:00
Linux_UNIX 系统编程手册
APUE 中文版第三版
junnplus
2017-05-13 00:28:42 +08:00
二楼说的 fluent python 可以看看,有讲解 python 协程部分
Mistwave
2017-05-13 23:14:06 +08:00
http://www.dabeaz.com/coroutines/

A Curious Course on Coroutines and Concurrency

Copyright (C) 2009, All Rights Reserved
David Beazley
http://www.dabeaz.com

Presented at PyCon 2009, March 25, 2009.
taowen
2018-10-23 10:15:20 +08:00
https://zhuanlan.zhihu.com/p/47211041 系统性地讲了一下协程在表达逻辑方面的能力,这是第一篇

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/360641

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX