您的位置:首页 > 其它

Programming .NET Components 2nd 学习笔记(十)

2012-09-02 15:33 155 查看
Chapter 7. Asynchronous Calls
当对象的方法被调用时,常常会阻塞客户端,然后在方法执行完毕后返回控制权给客户端。然而,在少数情况下你想要异步调用方法;例如,想要立刻返回控制权给客户端,对象在后台执行方法调用并设法使客户端知道方法执行完毕。这种执行模式叫做异步方法调用,这种行为称作异步调用。异步调用能提高可用性,吞吐量和性能,并扩展你的程序。
在过去,开发人员通常在构件中手动编写自己的异步调用机制。返回机制使对象脱离工作线程去处理客户端请求,并立刻将控制权返回给客户端。当调用完成时对象会发送给客户端一个信号(如果客户端想要知道),并且客户端有办法区分多个方法的完成。这些机制很难开发和测试,并且这会迫使开发人员花费大量时间来重构机制而不是向程序添加商业数据。此外,这些解决方案使客户端与对象耦合,从而不能一致设计与实现。不同的卖家提供不同的解决方案,这使得在客户端需要使用不同的编程模型。这个情况减小了面向构件编程的好处,因为构件的开发人员需要假设客户端使用构件的方式。

.NET异步调用机制贯穿于.NET程序框架和基类,是一个主流机制。.NET异步调用对于构件开发人员来说非常有用,因为自己实现一个健壮的异步执行是一个高难度的任务,要求在设计、实现、测试上做大量工作。通过提供异步调用的支持,.NET可以使你集中精力在问题域上,而不是复杂的异步管道。首先,我会解释异步系统的通用需求。接下来,因为.NET异步调用基于委托,这章将更加深入探讨委托并讨论如何更好地使用.NET异步调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: