最近进行并发数据处理,学习到了 Actor模型,其中最简单的实现方式是一位大牛利用Dataflow实现的。

大牛的方案:http://www.jayway.com/2013/11/15/an-actor-model-implementation-in-c-using-tpl-dataflow/。

根据此方案,做了一点修改,做了一个抽象的类,代码如下:

 1     public abstract class NewActor<T>
 2     {
 3         private readonly ActionBlock<T> _action;
 4
 5         protected NewActor()
 6         {
 7             _action = new ActionBlock<T>(T => Receive(T));
 8         }
 9
10         // 接收并处理消息
11         protected abstract void Receive(T message);
12
13         public void Post(T message)
14         {
15             _action.Post(message);
16         }
17
18         public void Shutdown()
19         {
20             _action.Complete();
21             _action.Completion.Wait();
22         }
23     }

转载于:https://www.cnblogs.com/dingzhouta/p/Bill.html

一个利用Dataflow实现的Actor相关推荐

  1. Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?...

    什么是Progressive Web App? Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术,由Google实现,让浏览器打开的网址像APP一样运行 ...

  2. 一个利用浏览器原生execCommand()方法实现的富文本编辑器

    这是一个利用浏览器原生execCommand()方法实现的富文本编辑器,同时具有本地存储.定时保存.纯文本编辑器的功能,仅用于学习参考,其实并没有什么卵用. 新手上路,Bug太多,功能不完善,代码.变 ...

  3. 期货策略matlab,code 一个利用MATLAB编写的螺纹钢期货高频交易套利策略 联合开发网 - pudn.com...

    code 所属分类:金融证券系统 开发工具:matlab 文件大小:506KB 下载次数:398 上传日期:2013-10-09 14:14:53 上 传 者:huangxiao 说明:  一个利用M ...

  4. 一个利用html5的图片裁剪功能(已解决ios压扁缩放等bug)

    推荐: 这一篇文章是早年为了解决图片裁剪的探索性文章,现在已经开放出了falsh版及html5版本的图片裁剪插件,各位有时间可以看看: 浮士德html5图片裁剪器2016开源版 浮士德头像裁剪flas ...

  5. 推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen

    reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...

  6. matlab图像处理将两个目标合成一个,利用MATLAB实现医学图像处理与分析

    [实例简介] 利用MATLAB实现医学图像处理与分析边缘是图像最基本的特征.所谓边缘是指图像周围像素灰度有阶跃变化或屋顶状变化的像素的集合, 它存在于目标与背景.目 标与目标.区域与区域.基元与基元之 ...

  7. python和报表生成工具_推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen...

    reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...

  8. 列举一个利用MATLAB进行仿真的案例,MATHCAD 和MATLAB建模与仿真-中国大学mooc-题库零氪...

    第一章 MATLAB简介 测试 1.下列哪个变量的定义是不合法的? A.abcd-3 B.xyz_3 C.abcdef D.x3yz 2.清空MATLAB工作空间内左右变量的指令是: A.clc B. ...

  9. 用matlab写一个利用人工地震波定位掩埋物的程序

    利用人工地震波定位掩埋物是地质勘探中常用的方法之一.下面是一个使用MATLAB编写的基本程序框架,可以用于实现这一目的. 程序主要分为以下几个步骤: 1.读取地震数据文件 使用MATLAB中的load ...

最新文章

  1. poj 2681 字符串
  2. Hyperledger Fabric 超级账本的硬伤
  3. Linux学习中压缩包格式有哪些?
  4. 一图简述大数据技术生态圈
  5. SHA-1退休:数千万用户通向加密网站之路被阻
  6. 转:Delphi2010新发现-类的构造和析构函数功能
  7. 2021年周边游数据报告
  8. 从0开始搭建公司后台技术栈,这套架构值得拥有...
  9. arm64入栈出栈_【iOS内功】ARM黑魔法—栈桢的入栈和出栈
  10. 亿级爆款背后,网易云音乐的生长之道
  11. OneNote无法同时设置中英文字体设置解决办法
  12. 右键添加cmd命令快捷键,右键cmd快捷键丢失
  13. 微信小程序应用百度地图API
  14. 集线器、交换机与路由器有什么区别?
  15. Python模块——标准库\开源模块\自定义模块
  16. 用友U8供应链期初数据录入案例教程2
  17. onload事件和ready方法的区别
  18. 如何用TI Unifalsh烧录程序到CC3200 Launchpad
  19. C# 数据操作系列 - 13 SugarSql初探
  20. More Effective C++读书笔记

热门文章

  1. 小机箱的评估,立人 vs Jobs机箱
  2. 将DataTable中的数据导入到数据库中
  3. Linux系统目录结构,文件类型以及ls、alias命令
  4. 也许这就是一种技术成就梦想的理解吧
  5. linux工作常用软件
  6. 人的一生奋斗史Rational Rose 版
  7. [转]MySQL Explain详解
  8. DrawerLayoutDemo【侧边栏(侧滑菜单)简单实现】
  9. Unity Editor已停止工作
  10. TP v5中环境变量在项目中的应用