开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
开源项目 > 程序开发 > 作业/任务调度 &&
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
20 Star 39 Fork 19

hamasm/cpp actor framework

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
贡献代码
同步代码
对比差异 通过 Pull Request 同步
同步更新到分支
通过 Pull Request 同步
将会在向当前分支创建一个 Pull
Request,合入后将完成同步
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
C++版本已停止维护,请转到C#版本https://gitee.com/hamasm/CsGo
并发逻辑控制框架,适用于复杂业务逻辑;
支持系统 windows、x86_x64/armv7_v8-linux、armv7_v8-android;
支持编译器 VC2013/VC2015,GCC4.8+;
依赖于boost 1.5x;
可以用来构建服务端/客户端,也可以用在与网络无关的程序中;
基于stackful/stackless协程技术,actor基于stackful,generator基于stackless;
actor/generator均可以类似普通函数一样调用别的actor/generator函数及传递参数;
actor运行时按需扩张栈空间(4K-1M),64位下4G内存最多可创建一千万以上generator对象;
actor/generator之间多种0-copy消息通信方式;
1:n的方式划分串行调度队列,在不使用消息时也可有效规避多个actor/generator逻辑之间的线程安全问题;
三级调度,主流x86处理器单线程下actor调度一千万以上,generator两千万以上;
优化过的高效定时器,定时器资源非常轻量;
基于asio优化过的tcp/udp异步IO;
支持QT-UI线程调度驱动,极大简化UI与后台逻辑之间的交互;
私有项目,不提供开发文档,有兴趣请联系 591170887@qq.com;
可以任意使用或编辑源码,而不需通知作者,当然作者也不对使用本框架造成的任何损失负责.
svn url(版本保持最新):
svn://ham2015.6655.la:1000/MyActor
Node.js版本(支持web前端js)
svn://ham2015.6655.la:1000/MyActorNodeJs
github url:
https://github.com/HAM-2015/CPP-Actor-framework
oschina url:
http://git.oschina.net/hamasm/cpp-actor-framework
ftp url:
ftp://ham2015.6655.la/files/MyActor/
2017年01月17日
优化asio异步IO,在linux下tcp/udp更加高效;
2016年09月20日
添加generator下的channel通信机制(无缓存/有限缓存/无限缓存),支持select-case方式读取多个channel;
添加generator下的逻辑mutex互斥.
2016年09月08日
添加基于stackless的generator,支持co_yield、co_async、co_await、co_call语义.
2016年08月18日
添加Node.Js与C++扩展模块之间Actor交互(测试Node.Js版本6.2.2).
2016年08月09日
添加可以在Node.Js C++扩展动态库uv线程内运行Actor(测试Node.Js版本6.2.2).
2016年03月26日
移植到arm-android(Linux-Kernel-3.4.0+)平台(包括 QT For Android 异步UI驱动).
2016年03月15日
移植到arm-linux平台.
2015年12月28日
添加linux平台下的自动栈空间伸缩管理.
2015年12月25日
添加windows平台下的自动栈空间伸缩管理.
2015年12月18日
添加对mingw的支持.
2015年12月09日
优化windows,linux平台下的定时器性能.
2015年11月13日
修改windows下使用Fiber驱动上下文切换.
2015年11月11日
添加在QT-UI线程中运行Actor,驱动异步UI.
2015年11月05日
添加"通知句柄"丢失检测,消息等待时可以捕获通知句柄丢失异常.
2015年10月31日
移植到linux系统.
2015年09月24日
改进采用TLS技术检测当前代码运行在哪个Actor下.
2015年09月21日
使Actor在lock_quit()后检测到quit_msg消息仍然可以运行.
2015年08月23日
让一个Actor内可以同时支持多个相同类型消息.
2015年08月02日
添加在一个Actor内互斥运行多个业务逻辑段.
2015年07月30日
支持任意参数个数消息.
2015年07月12日
优化右值转移,使消息传递支持0拷贝.
添加值引用消息.
2015年07月10日
二级调度器shared_strand添加next_tick功能,提高消息传递性能.
2015年06月26日
优化Actor的内部定时器.
2015年06月12日
添加同步消息(sync_msg)和CSP模型消息(csp_channel).
2015年06月09日
去掉"actor_mutex"、"actor_shared_mutex"不必要的 close 功能.
2015年06月06日
添加直接产生上下文的回调函数,可以不用显示使用await操作等待回调完成.
2015年06月03日
优化检测堆栈溢出功能,输出具体哪个Actor溢出日志.
2015年06月01日
优化等待子Actor结束的性能,取消等待返回bool值.
2015年05月29日
添加actor_shared_mutex,用于业务逻辑之间的同步.
2015年05月24日
添加在DEBUG下创建Actor时保存调用堆栈,方便某个Actor异常时调试跟踪.
2015年05月15日
添加可以检测当前代码运行在哪个Actor下.
2015年04月14日
核心功能整体优化;
添加actor_mutex;
添加可以暂时锁定Actor,不让其强制退出,用于关键逻辑段;
添加多级消息代理.
2015年04月02日
添加可以直接拿一个Actor句柄发送消息,然后通过匹配弹出消息.
2015年03月19日
添加消息传递的右值优化.
2015年02月11日
添加定时清理Actor栈池.
2015年02月05日
增加外部可以直接拿另一个Actor句柄创建一个消息管道或通知句柄.
2015年02月01日
添加socket测试示例.
2015年01月26日
修改了定时器在高版本VS下因与STL库冲突导致的编译错误问题;
增加异步触发和消息等待的超时处理功能.
2015年01月08日
修改了挂起/恢复控制逻辑,原有逻辑在极端情况下存在安全风险.
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

并发逻辑控制框架(Actor Model),适用于复杂业务逻辑.
取消

发行版

暂无发行版

开源评估指数源自 OSS-Compass 评估体系,评估体系围绕以下三个维度对项目展开评估:

1. 开源生态

  • 生产力:来评估开源项目输出软件制品和开源价值的能力。
  • 创新力:用于评估开源软件及其生态系统的多样化程度。
  • 稳健性:用于评估开源项目面对多变的发展环境,抵御内外干扰并自我恢复的能力。

2. 协作、人、软件

  • 协作:代表了开源开发行为中协作的程度和深度。
  • 人:观察开源项目核心人员在开源项目中的影响力,并通过第三方视角考察用户和开发者对开源项目的评价。
  • 软件:从开源项目对外输出的制品评估其价值最终落脚点。也是开源评估最"古老"的主流方向之一"开源软件" 的具体表现。

3. 评估模型

    基于"开源生态"与"协作、人、软件"的维度,找到与该目标直接或间接相关的可量化指标,对开源项目健康与生态进行量化评估,最终形成开源评估指数。

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/hamasm/cpp-actor-framework.git
git@gitee.com:hamasm/cpp-actor-framework.git
hamasm
cpp-actor-framework
cpp actor framework
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /