您的位置:首页 > 产品设计 > 产品经理

异步编程模型(APM,Asynchronous Programming Model)

2013-02-17 10:22 519 查看
异步编程模型(APM,Asynchronous Programming Model)

优点:

1. 将资源使用率降低,因为如果是同步的话,会发生阻塞而导致在线程池中启动多个线程,而CLR线程占用资源是很多的。

2. 因为减少了线程,从而也减少了上下文的切换。

3. 垃圾回收器的速度加快,因为,每次垃圾回收都会将进程内的所有线程挂起,线程变少,挂起和恢复的就快,垃圾回收器查找线程的栈的速度也会加快。

4. 加快调试速度。

5. 加快程序运行速度。

6. 保持GUI程序的很好的可响应性。

支持APM的主要类:

Stream

Dns

Socket

WebRequest

SerialPort

SqlCommand

所有委托类型。

BeginXxx方法和对应的同步方法的前面的参数是一致的,只是多了2个参数

useCallback和stateObject

useCallback是一个委托,定义如下

public delegate void AsyncCallback(IAsyncResult ar);

在回调方法中可以查询IAsyncResult的AsyncResult属性来访问objectState。

EndXxx方法返回和调用同步方法一样的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: