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

上海网站建设百家号襄阳谷城网站建设

上海网站建设百家号,襄阳谷城网站建设,公司做网站多,网站建设东北基于Arrow的轻量线程池 大家好,我是光城,最近花了几周业余时间,开发出这款轻量线程池,代码也全部开源啦,欢迎大家star。 本线程池的设计与实现会有涉及非常多的知识,这些内容也都会以视频的方式分享在知识星…

基于Arrow的轻量线程池

大家好,我是光城,最近花了几周业余时间,开发出这款轻量线程池,代码也全部开源啦,欢迎大家star。

本线程池的设计与实现会有涉及非常多的知识,这些内容也都会以视频的方式分享在知识星球中,随便一罗列就是一大堆,在学习本线程过程中你会学到:

- 如何从0构建一个项目

- 如何使用bazel管理整个项目

- 如何设计一个属于自己的线程池

- Arrow 项目与现在的线程池区别在哪里,我们做了什么改造

- 如何实战并发编程

- 如何做测试

等等。

a9f361d6149ea9de8127a773eeed1859.jpeg

本线程池是基于Apache Arrow项目的衍生版本。我们将Arrow项目中复杂的核心结构——线程池——完全剥离出来,形成了这个独立的项目。由于原始的线程池与Arrow项目本身的工具有深度依赖关系,因此我们在这个项目中对线程池进行了一些深度移除和改造,以保持与原始Arrow线程池的基础功能一致。一些改动包括:

  • 将Arrow的Future替换为std::future

  • 将Arrow的Result替换为std::optional

  • 重构了Submit接口,使用promise进行实现

通过这些改动,我们的目标是:

  • 使线程池更方便地作为其他项目的依赖库使用

  • 提供简单的方式来引入本项目的so库和头文件,以使用线程池功能

此外,这个项目还可以作为深入学习线程池设计与实现的资源。我们欢迎您探索并使用这个经过精心改进的线程池。

项目地址:参考下面

https://github.com/Light-City/light-thread-pool

1.如何编译

➜ tpl bazel build //src:thread_pool
WARNING: Ignoring JAVA_HOME, because it must point to a JDK, not a JRE.
WARNING: Ignoring JAVA_HOME, because it must point to a JDK, not a JRE.
INFO: Analyzed target //src:thread_pool (36 packages loaded, 168 targets configured).
INFO: Found 1 target...
Target //src:thread_pool up-to-date:bazel-bin/src/libthread_pool.abazel-bin/src/libthread_pool.dylib
INFO: Elapsed time: 1.748s, Critical Path: 1.34s
INFO: 8 processes: 3 internal, 5 darwin-sandbox.
INFO: Build completed successfully, 8 total actions

2.如何使用

所有的用例放在examples目录

2.1 编写一个简单的case

参见:helloworld

// Create a thread pool
auto threadPool = GetCpuThreadPool();
if (!threadPool) {std::cerr << "Failed to create thread pool" << std::endl;return 1;
}// Submit tasks to the thread pool
threadPool->Spawn([]() { std::cout << "hello world!" << std::endl; });// Wait for all tasks to complete
threadPool->WaitForIdle();// Shutdown the thread pool
threadPool->Shutdown();

其他case:

  • 设置线程池数量

  • 如何停止回调

  • 如何异步处理

3.如何测试

测试基于catch2编写,所有测试位于tests目录

可以测试tests目录下面的其他测试,只需要替换submit_test为对应的test即可。

bazel test //tests:submit_test
http://www.yayakq.cn/news/259483/

相关文章:

  • 如何修改网站备案号python网站开发集成环境
  • 网络公司网站做的不错的wordpress照片记录模板
  • 网站有权重但是没访问手机怎样建网站
  • 网站建立不安全怎么取消wordpress dashicons
  • 常州建设网站公司网站海口百度seo
  • 西安优秀的集团门户网站建设微网站绑定域名
  • 手机网站怎么做的好处深圳做积分商城网站设计
  • 做好网站如何发布wordpress做首页
  • 做打折网站如何天津百度搜索网站排名
  • 八面通网站建设泰安手机网站建设
  • 莱芜买房网站微信表情制作小程序
  • 怎样做天猫 淘宝网站导购semseo
  • 网站建设 岗位职责 智联如何创建网站的快捷方式
  • 网站建设的中期报告盐山县做网站价格
  • 注册网站登录工作细胞樱花动漫
  • 网站制作设计说明广州网站建设公司怎么挑选
  • 有没有好的ppt网站做参考的网站的建设费用预算
  • 如何制作网站设计湖南二级建造师在哪个网站做变更
  • 重庆 网站定制深圳建设网站哪家好
  • 做营销型网站一般要多少钱广州方舱医院最新消息
  • 域名访问网站是什么意思网页制作软件安卓版
  • 做网站推销的如何谈客户wordpress 角色管理
  • 最好的开发网站建设价格物联卡官方免费申请入口
  • 杭州企业网站设计wordpress apache配置
  • 网站备案 信息查询网络规划师报名时间
  • 惠安网站建设公司阳谷网站建设公司
  • 珠海集团网站建设外包网页上视频如何下载
  • 网站建设小程序开发seo推广html怎么做网页动态背景
  • 东昌府区建设局网站学校网络建设方案设计
  • wordpress网站可以显示中文和英文网站推广洛阳