APM之 .net中异步编程模型比较-3

.net中的异步编程模型比较

模型

主要用途

用什么模拟辅助用途

父子

进度报告

取消

等待

超时

返回结果/异常

QueueUserWorkItem

计算

同步I/O

No

No

No

No

No

No

Timer

计算

同步I/O

No

No

通过Dispose

No

Yes

No

RegisterWaitForSingleObject

计算

同步I/O

No

No

通过Unregister

No

Yes

Yes

Tasks

计算

同步I/O

TaskCompletionSource

TaskScheduler'sFromAsync

Yes

No

计算;

在Task开始前取消;

Task支持取消;

放弃结果

Yes

Yes

Yes

IAsyncResult APM

I/O

委托的BeginInvoke

No

No

No

Yes

No

Yes

Event-based APM (EAP)

I/O

BacgroundWorker

No

部分

部分类型放弃结果

No

No

Yes

AsyncEnumerator

http://www.cnblogs.com/2018/archive/2011/05/08/2040054.html

的Power Threading

I/O

委托的BeginInvoke

No

No

Yes

No

Yes

Yes

有了这个内容,我们在使用异步处理的时候,可以选择适合自己的框架和工具了 

详细参考:

Clr Via C#

http://transbot.blog.163.com

http://ys-f.ys168.com/?CLR_via_CSharp_3rd_Edition_Code_by_Jeffrey_Richter.zip_55bism1e0e7bkisjthit2bso0cm5bs4bs1b5bktnql0c0bu22f05f12z

posted @   2012  阅读(622)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2010-05-12 arcgis开发笔记【Oracle使用汇总】
点击右上角即可分享
微信分享提示