摘要:该系列文章是由Matthew Podwysocki撰写,并发表在code better上的。IntroductionCreating ObservablesCreating ObserversjQuery IntegrationComposing CallbacksFrom Blocking to AsyncWikipedia LookupComposing DeeperBing Maps and...
阅读全文
摘要:CCR,并发与协调运行时(Concurrency and Coordination Runtime)。从名字里我们就可以知道,这个东东是用来简化并发程序设计的。为何要并发呢?因为我们有多个任务需要处理,如果能同时做就会充分利用硬件而减少处理的时间。自然的,CCR也是以“任务”为核心进行设计的,CCR中的代码也可以分为如下几个功能:描述任务、生成任务、调度任务和执行任务。 描述任务 对于计算机来...
阅读全文
摘要:由于CCR的源码并没有直接公开,所以我们需要借助一些工具来窥探它的秘密。 分析CCR需要如下的工具 MS Robotic Studio Express 20...
阅读全文
摘要:Expert to Expert: Meijer and Chrysanthakopoulos - Concurrency, Coordination and the CCRCCR Programming - Jeffrey Richter and George ChrysanthakopoulosThe Concurrency and Coordination Runtime and Decen...
阅读全文
摘要:原文链接去中心化软件服务(DSS)是一个基于CCR的轻量级.net运行时环境。DSS提供了一个轻量级的,状态导向的服务模型,它将REST概念和构造高性能高扩展性应用的系统级方法结合在一起。在DSS中服务被暴露为一种可以被程序和UI操作界面访问的资源。通过集成:状态隔离、结构化状态操作、事件通知和常规服务组合,DSS解决了编写运行在一个节点或者跨网络的高性能、可观察、松耦合的应用程序的需求。DSS的...
阅读全文
摘要:最近一直在学习并行与并发相关的东西,从用CCR户手册到erlang论文,从Channel 9的视频到MSDN的文章到,略有心得拿出来分享一下: 就像多任务操作系统中一个进程不能直接访问(OK,起码是不能很轻松的访问)另外一个进程的内存 思路 分离异步操作的执行方法和数据提供。一个有意义的程序执行需要两个部分:代码和数据。如果代码得到了数据之后就可以去执行了,能够并行执行的代码中,共享的数据越...
阅读全文
摘要:原文链接 微软最近发布了为机器人编写应用的新的Microsoft Robotics Studio的预览版。这些新的工具很有趣,但是它应该比仅仅为机器人编程更加有趣。 Dispatcher类 当你的应用程序初始化的时候,你首先希望构造一个Dispatcher对象来管理一组线程。它实际上是一个线程池。和CLR的线程池一样,这些线程调用方法(通过delegate)来执行任务: p...
阅读全文
摘要:原文链接CCR可以表达(当需要的时候通过简单的助手方法)各种其它的并发方法,例如: .net中的异步编程模型(APM):MSDN杂志中的Concurrent Affairs文章有一些用CCR适配器助手和APM APIs来调用系统类库的例子。与非CCR代码互操作章节有一些使用CCR和它的迭带器支持来简化APM例子,这些例子通过直接返回并继续异步I/O, 可以不使用delegate和回调。 Futur...
阅读全文
摘要:CCR可以轻松的承载STA组件或者与它互操作
阅读全文
摘要:原文链接传统的失败处理策略遵循如下模式: 对于同步方法调用,调用者检查一个或者多个返回值。被调用的方法使用调用者的执行上下文(通常执行上下文是一个线程)来运行。 使用结构化异常处理,调用者将同步方法调用包裹在try/catch/finally语句中,依赖catch{}块的执行来处理错误或者使用catch{}块加上显式的检查被调用方法的返回值。 依赖于被调用组件的各种补偿实现的事务,操作系统基础设置...
阅读全文
摘要:CCR以新颖的方式使用了C# 2.0语言的迭代器功能:程序员可以用顺序的方式来编写代码,迭代返回(yielding)CCR仲裁器或者其他的CCR Task,而不需要使用delegates来嵌套异步行为(也叫做回调)。
阅读全文
摘要:CCR第三个重要的组成部分是任务调度:当有接收器的port上有消息到达时如何生成任务和在有多个执行资源的机器上进行负载均衡。
阅读全文
摘要:异步编程的困难在于没有简单的方法来协调多个操作,处理部分失败(多个操作中一个失败而且其他的成功)和定义异步回调的执行行为。
阅读全文
摘要:CCR port是最常见的原语,它被用作两个组件的交互点。
阅读全文
摘要:CCR介绍 API概览 Ports和PortSet 协调原语(Coordination Primitives) 任务调度 迭代器 失败处理 与非CCR代码互操作 其他的并发方法
阅读全文
摘要:本文描述了CCR的Dispatcher类和DispatcherQueue类,并将其与CLR中的ThreadPool做了比较。
阅读全文
摘要:本文是我对MSDN Magazine 2006年9月号中ConcurrentAffairs专栏的读后感
阅读全文