惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
T
Tor Project blog
Scott Helme
Scott Helme
Schneier on Security
Schneier on Security
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Security @ Cisco Blogs
GbyAI
GbyAI
Help Net Security
Help Net Security
T
Troy Hunt's Blog
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
L
LINUX DO - 最新话题
TaoSecurity Blog
TaoSecurity Blog
AWS News Blog
AWS News Blog
Y
Y Combinator Blog
SecWiki News
SecWiki News
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Google DeepMind News
Google DeepMind News
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
S
Securelist
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
H
Help Net Security
AI
AI
The Hacker News
The Hacker News
B
Blog
罗磊的独立博客
L
Lohrmann on Cybersecurity
爱范儿
爱范儿
C
Cisco Blogs
有赞技术团队
有赞技术团队
Project Zero
Project Zero
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Secure Thoughts
A
Arctic Wolf
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Latest news
Latest news
Cloudbric
Cloudbric
D
Docker
博客园 - 叶小钗
月光博客
月光博客

博客园 - iceboundrock

Introduction to the Reactive Extensions for JavaScript文章集合(收集贴) 美化VS2010在远程桌面/无法启动硬件加速渲染的机器下的字体显示 CCR源码分析-CCR架构 CCR源码分析-分析环境准备 CCR相关的Channel 9视频 DSS简介 也许你还不知道的一些关于App Domain的事 Common UNIX directories 几篇优化.net动态调用性能的文章 安装TFS 2008备注 Windbg点滴 MySQL Connector/Net 5.20安装后无法在VS2008中正常使用的问题 LAMP周边点滴 并行与并发编程学习心得 并发和协调运行时 与非CCR代码互操作 失败处理 迭代器 任务调度
其它并发方法
iceboundrock · 2007-12-18 · via 博客园 - iceboundrock

原文链接

CCR可以表达(当需要的时候通过简单的助手方法)各种其它的并发方法,例如:

  1. .net中的异步编程模型(APM):MSDN杂志中的Concurrent Affairs文章有一些用CCR适配器助手和APM APIs来调用系统类库的例子。与非CCR代码互操作章节有一些使用CCR和它的迭带器支持来简化APM例子,这些例子通过直接返回并继续异步I/O, 可以不使用delegate和回调。
  2. Futures:Futures被表达为立即从一个类中返回一个port,并且并行的激活处理函数。使用一个dispatcher queue来并行的执行调用者和被调用的代码,然后一个操作系统事件会阻塞一个等待结果的公共方法(假定一个同步未来模式(assuming a synchronous future pattern),看不懂,再汗一个-_-!!!)。为了调度未来工作项(future work items),CCR调度器设计自然的在适当的时候充分利用CPU处理能力来执行高效计划,使用用户定义的策略来进行速度控制和负载均衡。分发队列是FIFO对,但是DispatcherQueue的实现暴露了一组虚方法,允许继承类来实现LIFO,随机插入等等。
  3. Promises:Promises被表达的与Futures非常相似:一个CCR Port是一个Promise的结果,而一个破坏Promise的错误,是一个可以从port中获取的元素。
  4. 连接(joins):连接编程在操作系统中出现已经有很长时间了(WaitForMultiple, I/O Completion ports in NT, etc),CCR更加用动态连接和多元素接收器对连接进行了扩展。
  5. 传统的线程原语,例如读写锁、锁和监控器(monitors):CCR可以通过port和仲裁器来表达线程同步原语,并且取代显式的对共享内存的锁定。问题就从保护共享内存变成了调度和协议设计。