摘要: 当你运行这个程序时,当耗时操作结束后,啪嚓一下,程序出异常了:Control.Invoke&Control.BeginInvokeControl.Invoke和Control.BeginInvoke就是“发短信”的方法,如果使用Control.Invoke发短信,那么甲线程就会像个痴情的汉子,一直等待着乙线程的回音,而如果使用Control.BeginInvoke发送短信,那发完短信后,甲线程就会忙活自己的,等乙线程处理完再来瞧瞧。注意:有人看到了BeginInvoke方法来了个Begin,心里可能在想,这是异步的特征啊,那是不是像上篇文章中使用delegate的BeginInvoke 阅读全文
posted @ 2011-09-07 10:14 Tammie-锴 阅读(1215) 评论(0) 推荐(0) 编辑
摘要: 之前,我已经说过了BeginInvoke与Invoke的异同这里就要再来说说endinvoke的意思了我们知道 beginvoke就是通过线程的调用来异步的完成一些工作。一般只需要启动它就好,让它一直操作着。例如 用begininvoke修改界面显示,那么就是每次有所变化时它自动的改变界面的显示,因为它在后台执行着。但是有时候我们需要知道它的结束信息,并且在结束时还有所安排。这时候就需要endinvoke了先来看看,begininvoke的返回值类型:1: public interface IAsyncResult 2: { 3: object AsyncState { get... 阅读全文
posted @ 2011-09-07 10:07 Tammie-锴 阅读(3075) 评论(0) 推荐(0) 编辑