找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 90|回复: 1

workspace - C++11 轻量级异步执行、动态线程池框架

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
本帖最后由 dehby1024 于 2025-7-24 15:44 编辑

workspace

workspace 是基于 C++11 的轻量级异步执行框架,支持:通用任务异步执行、优先级任务调度、自适应动态线程池、高效静态线程池、异常处理机制等。

项目在原作者 Lwhyz/workspace 的基础上进行增强与重构,保持核心架构稳定的同时引入了诸多优化与新特性,包含了性能优化、接口重构、新的模块、丑陋的高版本语法模拟。

✨ 核心特性

  • ⚙️ Header-only:轻量设计,仅需引入头文件即可使用。
  • 🚀 高并发性能:支持异步顺序执行,极大提高多任务并发效率。
  • 🔧 灵活可定制:支持多种任务类型、动态线程调整、线程池策略灵活组合。
  • 🛠️ 稳定性强:封装 function_ 优化小任务性能,内置异步异常处理机制。
  • 🌐 良好兼容性:纯 C++11 实现,跨平台支持,兼容 C++11 及以上标准。

📌 使用说明

说实话我有点懒,连GitHub的 readme都没更,就没写了。实际上接口是很简单的,仅头库稍微看一下你就会了,具体可以参考原作者的例子(欢迎有空的大佬替我加入一些使用方法和文档整理

🧬衍生增强

  • VS2015 兼容性增强:修复模板推导、构造顺序等兼容性问题。
  • worker线程残留修复:解决 Windows 下 worker 线程因异常退出未正常析构的问题(std::thread太垃了)。
  • 增加dynbranch模块,该模块是workbranchsupervisor轻量包装,上手就可使用的动态线程池类,大部分的接口都是模板转发语法,简洁清晰。
  • 重写supervisor模块,解耦 tick 回调与线程检查频率,加入了更合理的线程增长/收缩策略(偏离原设计但更实用)
  • 重构workbranch模块,让workbranch更专注于静态线程池的职责,增加合并了许多任务提交接口,不在局限于无参数的方法

💬 致谢

感谢原作者 Lwhyz 的项目初稿及设计理念。我们在其基础上做出了更大胆的探索和扩展,旨在构建更高效、灵活的任务调度模型。

📎 链接


回复

使用道具 举报

发表于 前天 16:29 | 显示全部楼层
虽然但是,都 5202 年了,VB6 都支持线程池了。

现在除非用 OpenWatcom C,要么苹果,否则基本都是用 MSVC,gcc,clang,除非历史项目否则肯定是至少 c++17 了。

但是还是点个赞。至少给各种 XP 时代的旧项目又提供了一个线程池。
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2025-7-27 10:52 , Processed in 0.029572 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表