• 请不要在回答技术问题时复制粘贴 AI 生成的内容
insomnia1232
V2EX  ›  程序员

kotlin 的协程怎么评价?协程真的比多线程好?

  •  1
     
  •   insomnia1232 · Jan 1, 2019 via Android · 10937 views
    This topic created in 2872 days ago, the information mentioned may be changed or developed.
    15 replies  •  2019-01-02 07:17:04 +08:00
    congeec
    congeec
    Jan 1, 2019❤️1
    1
    你一不小心问了两个很大的问题
    11wangyaoda
    11wangyaoda
    Jan 1, 2019 via Android❤️3
    2
    coroutine 本质是上就是 callback。
    ruandao
    ruandao
    Jan 1, 2019
    3
    减少不必要的系统调度
    congeec
    congeec
    Jan 1, 2019
    5
    http://250bpm.com/blog:141
    Equivalence of State Machines and Coroutines
    yanaraika
    yanaraika
    Jan 1, 2019 via Android
    6
    新语言现在基本都有协程了吧 回调地狱了解一下
    Cbdy
    Cbdy
    Jan 1, 2019 via Android
    7
    所谓协程,就是用户态的线程,就是简单的状态机。然后再去和系统线程绑定既可以了
    q2577
    q2577
    Jan 1, 2019
    8
    可以试试在当前进程的主线程里面创建多个对等线程, 然后在每个对等线程里面各创建一个子进程, 然后在每个子进程里面使用协程, 是不是晕了?
    qiyuey
    qiyuey
    Jan 1, 2019
    9
    我的理解是,协程本质上就是 回调 + CPS 状态机,用以解决并发变成编写维护困难的问题,同时协程调度方面也具备优势,避免了不必要的上下文切换。
    DeweyReed
    DeweyReed
    Jan 1, 2019
    10
    用编译时的变换处理 callback,这样可以很直观地写顺序执行的异步代码。
    每个语言都是自己的异步机制,Coroutine 就是 Kotlin 采取的方案。
    janxin
    janxin
    Jan 1, 2019
    11
    看情况决定,对 IO 应用来说,肯定是要比纯线程好。减少系统调用,有效避免异步编程复杂度,上下文切换成本比线程低。

    不过问题是谁也不是只用协程,一般都是线程+协程模式。
    bluzz
    bluzz
    Jan 1, 2019 via Android
    12
    协程无法脱离线程,协程主要就是减少线程切换和等待
    pursuer
    pursuer
    Jan 1, 2019
    13
    个人理解,事件驱动更接近计算机工作模式,性能可能好一些,但是对编写者负担比较大,协程 /线程对编写者友好一些,多线程在使用使用阻塞 IO 时对内存的消耗有点厉害,即使线程大多数时间在等待 IO,协程可以减少一些这样的情况
    chrisyue
    chrisyue
    Jan 1, 2019
    14
    正好昨天总结了一下自己对 PHP 协程的理解,不知道各位大神怎么评价

    https://www.chrisyue.com/what-the-hell-does-coroutine-solve.html
    lynskylate
    lynskylate
    Jan 2, 2019 via Android
    15
    协程相比线程仅在 io 密集应用有显著优势,最大的优势在于进行 io 时主动进行协程切换,相比线程切换开销较小,当然还有协程上下文的储存相比线程小等等。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4126 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 03:49 · PVG 11:49 · LAX 19:49 · JFK 22:49
    ♥ Do have faith in what you're doing.