zoukankan      html  css  js  c++  java
  • libgo 2.0发布

    libgo 是一个使用 C++ 编写的协作式调度的stackful协程库, 同时也是一个强大的并行编程库。

    设计之初是为高并发分布式Linux服务端程序开发提供底层框架支持,可以让链接进程序的同步的第三方库变为异步库,不影响逻辑的前提下提升其性能

    目前支持两个平台:

        Linux   (GCC4.8+)
    
        Windows (Win7、Win8、Win10 x86 and x64 使用VS2013/2015编译)

    使用libgo编写并行程序,即可以像golang一样开发迅速且逻辑简洁,又有C++原生的性能优势。

    • 1.提供golang一般功能强大协程,基于corontine编写代码,可以以同步的方式编写简单的代码,同时获得异步的性能

    • 2.支持海量协程, 创建100万个协程只需使用2GB内存

    • 3.允许用户自由控制协程调度点,随时随地变更调度线程数;

    • 4.支持多线程调度协程,极易编写并行代码,高效的并行调度算法,可以有效利用多个CPU核心

    • 5.可以让链接进程序的同步的第三方库变为异步调用,大大提升其性能。再也不用担心某些DB官方不提供异步driver了,比如hiredis、mysqlclient这种客户端驱动可以直接使用,并且可以得到不输于异步driver的性能。

    • 6.动态链接和静态链接全都支持,便于使用C++11的用户静态链接生成可执行文件并部署至低版本的linux系统上。

    • 7.提供协程锁(co_mutex), 定时器, channel等特性, 帮助用户更加容易地编写程序.

    • 8.网络性能强劲,在Linux系统上超越ASIO异步模型;尤其在处理小包和多线程并行方面非常强大

    • 在源码的samples目录下有很多示例代码,内含详细的使用说明,让用户可以很轻易地学会使用libgo。

     1 #include <stdio.h>
     2 #include <libgo/coroutine.h>
     3  
     4 co_main(int argc, char **argv)
     5 {
     6     go []{
     7         printf("1
    ");
     8         co_yield;
     9         printf("2
    ");
    10     };
    11  
    12     go []{
    13         printf("3
    ");
    14         co_yield;
    15         printf("4
    ");
    16     };
    17  
    18     return 0;
    19 }
  • 相关阅读:
    sklearn: TfidfVectorizer 中文处理及一些使用参数
    sklearn: TfidfVectorizer 中文处理及一些使用参数
    python在文件中输入整数
    python在文件中输入整数
    Python文件操作,with open as追加文本内容实例
    Python文件操作,with open as追加文本内容实例
    Python中的Bunch模式
    Python中的Bunch模式
    python文本挖掘模版
    python文本挖掘模版
  • 原文地址:https://www.cnblogs.com/yyzybb/p/5157895.html
Copyright © 2011-2022 走看看