当前位置: 首页 > news >正文

无为做网站外贸seo是啥

无为做网站,外贸seo是啥,武汉殷氏科技网站建设,jsp网站开发难吗c开源协程库libgo介绍及使用-CSDN博客 libgo库的github地址:GitHub - yyzybb537/libgo: Go-style concurrency in C11 使用libgo编写并行程序,即可以像golang一样开发迅速且逻辑简洁,又有C原生的性能优势。它的特点有: 1.提供go…

c++开源协程库libgo介绍及使用-CSDN博客

libgo库的github地址:GitHub - yyzybb537/libgo: Go-style concurrency in C++11

使用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。
 

编译

mkdir build
cd build/
cmake  ..
make debug  
sudo make uninstall
sudo make install

#include <libgo/coroutine.h>
#include <stdio.h>
#include <thread>void foo()
{printf("function pointer\n");
}struct A {void fA() { printf("std::bind\n"); }void fB() { printf("std::function\n"); }
};int main()
{//----------------------------------// 使用关键字go创建协程, go后面可以使用://     1.void(*)()函数指针, 比如:foo.//     2.也可以使用无参数的lambda, std::bind对象, function对象, //     3.以及一切可以无参调用的仿函数对象//   注意不要忘记句尾的分号";".go foo;go []{printf("lambda\n");};go std::bind(&A::fA, A());std::function<void()> fn(std::bind(&A::fB, A()));go fn;// 也可以使用go_stack创建指定栈大小的协程//   创建拥有10MB大栈的协程go co_stack(10 * 1024 * 1024) []{printf("large stack\n");};// 协程创建以后不会立即执行,而是暂存至可执行列表中,等待调度器调度。// co_sched是默认的协程调度器,用户也可以使用自创建的协程调度器。 // 当仅使用一个线程进行协程调度时, 协程地执行会严格地遵循其创建顺序.// 仅使用主线程调度协程.// co_sched.Start();// 以下代码可以使用等同于cpu核心数的线程调度协程.(包括主线程)// co_sched.Start(0);// 以下代码允许调度器自由扩展线程数,上限为1024.// 当有线程被协程阻塞时, 调度器会启动一个新的线程, 以此保障// 可用线程数总是等于Start的第一个参数(0表示cpu核心数).// co_sched.Start(0, 1024);// 如果不想让调度器卡住主线程, 可以使用以下方式:std::thread t([]{ co_sched.Start(); });t.detach();co_sleep(100);//----------------------------------//----------------------------------// 除了上述的使用默认的调度器外, 还可以自行创建额外的调度器,// 协程只会在所属的调度器中被调度, 创建额外的调度器可以实现业务间的隔离.// 创建一个调度器co::Scheduler* sched = co::Scheduler::Create();// 启动4个线程执行新创建的调度器std::thread t2([sched]{ sched->Start(4); });t2.detach();// 在新创建的调度器上创建一个协程go co_scheduler(sched) []{printf("run in my scheduler.\n");};co_sleep(100);return 0;
}

g++ -std=c++11 test.cpp -llibgo -ldl  -lpthread

http://www.dinnco.com/news/20567.html

相关文章:

  • 品牌平价网站建设佛山网络推广培训
  • 网站建设公司 长春厦门网络推广公司
  • 二 加强门户网站建设惠州百度seo找谁
  • 广州网站建设的地方推荐资源最多的磁力搜索引擎
  • 崇文企业网站建设公司微信营销的案例
  • 学广告设计需要什么学历网站关键词seo优化公司
  • 怎么做提升网站转化率安徽网站关键字优化
  • 淄博桓台网站建设方案青岛百度快速优化排名
  • 做那个网站比较好最新域名ip地址
  • 南昌政府网站建设百度口碑
  • mysql 注册网站seo发帖论坛
  • 网站如何生成app河南网站建设报价
  • 政府机构网站建设哪里有软件培训班
  • 新网站怎么做seo商业公司的域名
  • 视频投票网站怎么做seo模拟点击有用吗
  • 小程序推广费用一个月需要多少钱关键词优化是什么意思?
  • 做私彩网站经典营销案例100例
  • 网站开发的项目开发成都正规搜索引擎优化
  • 襄阳市城乡建设委员会网站百度推广一级代理商名单
  • 仿做赌博网站宁波seo推广哪家好
  • apache添加网站如何seo搜索引擎优化
  • 网站开发全流程管理课程培训
  • 网站做抽奖活动人工智能培训心得
  • 网站建设后台功能模块网页搜索快捷键是什么
  • 厦门网站建设高级课程企业培训课程表
  • 青岛建网站的公司网络营销ppt怎么做
  • 企业站模板大全网络营销常用的工具和方法
  • 网站怎么做才是对搜索引擎友好最新新闻热点话题
  • 签证网站建设搜索引擎入口yandex
  • 在线crm有哪些优势seo诊断服务