代码之家  ›  专栏  ›  技术社区  ›  Jonas Byström

轻量级的、可移植的C++光纤、MIT许可证

  •  10
  • Jonas Byström  · 技术社区  · 15 年前

    我想得到一个轻量级,便携式光纤库与麻省理工学院许可证(或宽松)。Boost。Coroutine没有资格(不轻量级),既不做手提协同程序库,也不肯特C++CSP(GPL)。

    编辑:你能帮我找一个吗?:)

    5 回复  |  直到 6 年前
        1
  •  9
  •   Imagist    15 年前
    1. Libtask 麻省理工学院执照
    2. Libconcurrency :lgpl(比mit紧一点,但它是 功能性 图书馆!)

    两者都是为C写的。

        2
  •  5
  •   xyzzyrz    13 年前

    实际上我 blogged 关于过去的事。看一看!我希望它能回答你的问题。在本文中,我介绍了许多库,我特别感兴趣的是那些对系统编程(异步IO)有用的库。

    明显不在保险范围内的是 Boost.Coroutine ,我将在这里讨论。协程可以在概念上被认为是“重量级的”(就其类型系列而言),但是实现是相当有效的。真正的问题是助推。协程是不完整的,而且(上次我检查)远未完成。我花了一段时间试图与作者合作,通过它的非入门问题,因为我真的很期待将它与Boost.asio(这是Boost.Coroutine的主要目标之一)结合使用,但作者没有时间把他的工作带到Boost正式审查阶段。

        3
  •  3
  •   asdf    15 年前

    list of implementations for C

    对于超轻量的“线程”,请看维基百科文章底部的原型线程。

        4
  •  1
  •   aggsol    8 年前

    现在,您有两个更好的选择和Boost许可证:

        5
  •  1
  •   remus    6 年前

    有一个快速而轻量的C非对称协程库。- libaco .

    它非常小,速度非常快,而且非常节省内存:

    随着生产就绪C协程的实现 图书馆,这里有一个关于如何实现 最快和正确的协程库,也有严格的 数学证明;

    它的位置不超过700个,但是已经满了 从协程库中可能需要的函数;

    基准部分 显示只在协程之间进行一次上下文切换 在AWS上大约需要10 ns(对于独立堆栈) c5d.大型机器;

    用户可以选择使用 独立堆栈或共享堆栈(可以与其他人共享);

    它具有极高的内存效率:10000000个CO 同时运行只需要2.8GB物理内存(运行时 tcmalloc,每个co都有一个120b的拷贝堆栈大小配置)。

    它还有一个非常详细的文档。

    PS:

    它在Apache许可证2.0版下。

    推荐文章