V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
hard2reg
V2EX  ›  Python

有没有专门讲协程的书?

  •  
  •   hard2reg · 2017-05-11 14:57:25 +08:00 · 5900 次点击
    这是一个创建于 2788 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在京东上搜了下好像没有专门讲 Python asyncio 的书- -感觉这方面好抽象,想买本细讲协程的书啃啃。
    16 条回复    2018-10-23 10:15:20 +08:00
    KIDJourney
        1
    KIDJourney  
       2017-05-11 15:08:13 +08:00
    有专门讲进程的书吗?
    有专门讲线程的书吗?

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

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

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

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

    Python 的话,进化的不够优雅,从框架上来讲,不太直观。试试从#的 async await🍉
    araraloren
        12
    araraloren  
       2017-05-12 08:39:51 +08:00
    @MasterMonkey
    协程是一种用户态的线程
    不考虑性能 ,自己在 linux 使用 *context 系列的函数就能实现
    状态机是可以用协程来实现的
    看一看底层 的实现就会明白了,原理挺简单的一个东西
    SuperShuYe
        13
    SuperShuYe  
       2017-05-12 09:15:25 +08:00
    Linux_UNIX 系统编程手册
    APUE 中文版第三版
    junnplus
        14
    junnplus  
       2017-05-13 00:28:42 +08:00 via iPhone
    二楼说的 fluent python 可以看看,有讲解 python 协程部分
    Mistwave
        15
    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
        16
    taowen  
       2018-10-23 10:15:20 +08:00
    https://zhuanlan.zhihu.com/p/47211041 系统性地讲了一下协程在表达逻辑方面的能力,这是第一篇
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2783 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:28 · PVG 17:28 · LAX 01:28 · JFK 04:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.