Explore Enterprise Education Gitee Premium Gitee AI AI teammates
Fetch the repository succeeded.
Donate
Please sign in before you donate.
Scan WeChat QR to Pay
Cancel
Complete
Prompt
Switch to Alipay.
OK
Cancel
1 Star 0 Fork 19

杰特拉/cpp actor framework

Create your Gitee Account
Explore and code with more than 14 million developers,Free private repositories !:)
Sign up
Already have an account? Sign in
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
The license selected for the repository is subject to the license used by the main branch of the repository.
master
Branches (1)
master
Clone or Download
Clone/Download
Prompt
To download the code, please copy the following command and execute it in the terminal
To ensure that your submitted code identity is correctly recognized by Gitee, please execute the following command.
When using the SSH protocol for the first time to clone or push code, follow the prompts below to complete the SSH configuration.
1 Generate RSA keys.
2 Obtain the content of the RSA public key and configure it in SSH Public Keys
To use SVN on Gitee, please visit the usage guide
When using the HTTPS protocol, the command line will prompt for account and password verification as follows. For security reasons, Gitee recommends configure and use personal access tokens instead of login passwords for cloning, pushing, and other operations.
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # Private Token
contribute
Sync branch
See difference Through Pull Request Sync
Sync branch
Through Pull Request Sync
A Pull Request will be created to the current
branch and will be merged in to complete the sync
Notice: Creating folder will generate an empty file .keep, because not support in Git
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日
修改了挂起/恢复控制逻辑,原有逻辑在极端情况下存在安全风险.
Report
Report success
We will send you the feedback within 2 working days through the letter!
Please fill in the reason for the report carefully. Provide as detailed a description as possible.
Please select a report type
Cancel
Send
误判申诉

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

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

取消
提交

About

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

Releases

No release

Contributors

All

Activities

can not load any more
Edit
About
Homepage
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/jtela/cpp-actor-framework.git
git@gitee.com:jtela/cpp-actor-framework.git
jtela
cpp-actor-framework
cpp actor framework
master
Going to Help Center

Search

Comment
Repository Report
Back to the top
Login prompt
This operation requires login to the code cloud account. Please log in before operating.
Go to login
No account. Register

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