kotlin 的协程怎么评价?协程真的比多线程好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
insomnia1232

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

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

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

    https://www.chrisyue.com/what-the-hell-does-coroutine-solve.html
    lynskylate
        15
    lynskylate  
       Jan 2, 2019 via Android
    协程相比线程仅在 io 密集应用有显著优势,最大的优势在于进行 io 时主动进行协程切换,相比线程切换开销较小,当然还有协程上下文的储存相比线程小等等。
    About     Help     Advertise     Blog     API     FAQ     Solana     3730 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 95ms UTC 05:12 PVG 13:12 LAX 22:12 JFK 01:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86