取消或停止异步委托调用

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

取消或停止异步委托调用

取消或停止异步委托调用 对于一般线程,我们可以abort来终止其执行,但由beginInvoke启动的委托调用,启用线程池线程执行,.Net没有赋予我们直接停止其调用的方法,由此,我们必须做些工作来实现。

注意,试图操作线程池线程的想法是不合适的,线程池有CLR来管理更安全。

我们有以下方法来处理:

1设置全局变量,作为信号,来通知终止操作。

参考:http://www.microsoft.com/china/msdn/archives/library/dnforms/html/winforms08162002.asp

2干脆升级到.net Framework 2.0,使用 BackgroundWorker 类,在2.0里,可参考 WinFX Software Developer Kit的相关帮助主题,

3 如果你还不打算升级到.net Framework 2.0,那可以模拟实现BackgroundWorker 类

参考: http://www.code-magazine.com/article.aspx?quickid=0403071&page=1

注 ,以上的操作主要在委托函数实现部分支持终止的条件的检查 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有