日期:2014-05-17  浏览次数:20728 次

异步调用中回调函数的问题
在网上找了个组件源码,发现其中的callBack函数在任何情况下都不会被调用,但是程序还是安全退出没有报错
而若用一个函数caller启动异步调用时,caller.BeginInvoke()一定要对应一个caller.EndInvoke(),而回调函数将调用caller.EndInvoke()
后来发现在窗体控件中调用this.beginInvoke()不需要显式调用this.endInvoke()
回调函数是用来在异步调用结束时正确关闭线程的么,请高手指教

callback?异步?回调

------解决方案--------------------
前者表示你要在Control创建的线程上执行某个方法;后者表示你要新开一个线程执行函数的delegate。
显然两者含义完全不同,一个是当自己运行在多线程里却要操作其它线程的控件时才使用的,另一个是让你的delegate新开一个线程来运行。