V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alexapollo
V2EX  ›  程序员

异步的选择: future-promise 还是协程?

  •  
  •   alexapollo ·
    geekan · 2015-05-18 19:31:51 +08:00 · 4022 次点击
    这是一个创建于 3479 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为用的是C++,异步写的很烦,所以之前一直用fp,但fp写起来并不够简洁(因为fp框架),这一段切到了协程,但很多人说到协程会有内存上的问题,可能大量使用也有点麻烦。
    可能是比较专业的一个问题,不知道大家怎么看?

    13 条回复    2015-05-19 22:39:32 +08:00
    alexapollo
        1
    alexapollo  
    OP
       2015-05-18 20:33:57 +08:00
    竟然没人回,是因为太专业了吗。。
    immjun
        2
    immjun  
       2015-05-18 21:04:04 +08:00
    我来回一个 推荐用 Go 哈哈~
    janxin
        3
    janxin  
       2015-05-18 21:07:14 +08:00
    既然C++,尝试一下Rust吧
    hhkbp2
        4
    hhkbp2  
       2015-05-18 21:18:35 +08:00
    没人回是因为问得不对,协程属于异步,属于并发
    ryanking8215
        5
    ryanking8215  
       2015-05-18 21:27:09 +08:00
    你指boost的coroutine吗? 配合asio, 效率应该杠杠的。但是cpp的代码好难看...
    fx
        6
    fx  
       2015-05-18 21:46:52 +08:00
    协程是来解决并发的吧
    Hyperion
        7
    Hyperion  
       2015-05-18 22:00:01 +08:00
    不提实现就讲内存问题就是耍流氓...
    alexapollo
        8
    alexapollo  
    OP
       2015-05-18 22:31:49 +08:00
    @hhkbp2 future-promise也是为了解决异步的问题的。。不知道你用在哪?
    @immjun C++是项目决定的,没法改,go倒是听说够神器
    @janxin 同上
    @ryanking8215 十分同感,shit++
    alexapollo
        9
    alexapollo  
    OP
       2015-05-18 22:33:12 +08:00
    @fx 解决并发传统方法靠异步,但异步有cb hell,所以引入了fp,协程相当于是代码同步写法可以直接异步化,所以个人感觉比较舒服点
    sivacohan
        10
    sivacohan  
       2015-05-19 09:29:16 +08:00 via Android
    没看过C++的,在Python2.7 promise可以看成是一个协程的特殊实现
    spacewander
        11
    spacewander  
       2015-05-19 10:23:19 +08:00 via Android
    不知道用的什么协程库?虽然名为协程,但是实现不同效果也会不一样……
    话说协程也有需要通信和同步的时候,感觉不一定比fp好用。看接口咯
    cholerae
        12
    cholerae  
       2015-05-19 10:50:19 +08:00
    推荐试试golang,个人认为这种利用协程的同步写法才是未来的潮流
    janxin
        13
    janxin  
       2015-05-19 22:39:32 +08:00
    @alexapollo 既然这样,golang也一样的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3438 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:35 · PVG 19:35 · LAX 03:35 · JFK 06:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.