取消或停止异步委托调用
取消或停止异步委托调用 对于一般线程,我们可以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
注 ,以上的操作主要在委托函数实现部分支持终止的条件的检查 。