CAF C++ actor 模型框架

开源网站开源项目 24-04-29 15:50:26

CAF —— C++ actor 模型框架,借鉴了 erlang 和 akka 的actor思想。使用C++现代编程规模实现。特点是:轻量级、分布式、简单、可适应以及无锁。

下载和构建:

gitclonehttps://github.com/actor-framework/actor-frameworkcdactor-framework./configuremakemakeinstall[asroot,optional]

示例代码:

#include<string>#include<iostream>#include"caf/all.hpp"usingnamespacestd;usingnamespacecaf;behaviormirror(event_based_actor*self){//returnthe(initial)actorbehaviorreturn{//ahandlerformessagescontainingasinglestring//thatreplieswithastring[=](conststring&what)->string{//prints"HelloWorld!"viaaout//(thread-safecoutwrapper)aout(self)<<what<<endl;//terminatesthisactor//('become'otherwiseloopsforever)self->quit();//reply"!dlroWolleH"returnstring(what.rbegin(),what.rend());}};}voidhello_world(event_based_actor*self,constactor&buddy){//send"HelloWorld!"toourbuddy...self->sync_send(buddy,"HelloWorld!").then(//...waitforaresponse...[=](conststring&what){//...andprintitaout(self)<<what<<endl;});}intmain(){//createanewactorthatcalls'mirror()'automirror_actor=spawn(mirror);//createanotheractorthatcalls'hello_world(mirror_actor)';spawn(hello_world,mirror_actor);//waituntilallotheractorswehavespawnedaredoneawait_all_actors_done();//runcleanupcodebeforeexitingmainshutdown();}
[CAF C++ actor 模型框架]相关推荐

NSD DNS 服务器

NLnet实验室 Name Server Daemon(NSD)是权威的DNS服务器。 它被开发用于在速度,可靠性,稳定性和安全……...

smash 类 unix 内核

smash 类 unix 内核

smash 是一个类 Unix 的内核,实现了基于分段和分页的内存管理,单个进程最大 4GB 虚拟地址空间,支持 mi……...

今日开源
  1. rage 加密工具

    rage 是一个简单、现代、安全的文件加密工具,使用 age 格式。它的特点是小的显式密钥,没有配置选项,以及UNIX风格的可组合性。 Usage: rage [--encrypt] -r RECIPIENT [-i IDENTITY] [-a] [-o OUTPUT] [INPUT] ……

    开源软件 2024-05-17

  2. Yac PHP 内容缓存

    Yac 是为PHP实现的一个基于共享内存, 无锁的内容CacheYac的两个应用场景:1.让PHP进程之间共享一些简单的数据2.高效地缓存一些页面结果假设PHP以PHP-FPM运行,Yac和Pcache缓存的用户内容User Cache就像Opcache一样,……

    开源软件 2024-05-17

  3. MRM MariaDB 和 MySQL 复制拓扑管理

    MRM,即 MariaDB and MySQL Replication Management ,是管理 MariaDB 10.x 和 MySQL&Percona Server 5.7 GTID 复制拓扑的高可用解决方案。 主要特性 复制监视 拓扑检测 从属掌控升级(切换) 主从选举故障检……

    开源软件 2024-05-17

返回顶部小火箭