一个应用场景,浏览器上传一个文件,此文件后台调用文件转换,需要耗费相当长的时间,这样,如果是一个线程同步式的做下去,那么用户在浏览器上感觉就是卡住了,卡卡卡卡,这里我们利用委托的BeginInvoke和EndInvoke方法操作线程,
BeginInvoke
方法可以使用线程异步地执行委托所指向的方法。然后通过
EndInvoke
方法获得方法的返回值(
EndInvoke
方法的返回值就是被调用方法的返回值),或是确定方法已经被成功调用,说白了就是相当于开个多线程,你用户文件保存了之后,响应返回,这个
BeginInvoke
异步去执行委托方法,完了之后呢,再执行你的异步回调函数;
大概步骤
1:先把你要异步执行的方法抽离出来;
2:定义一个该异步方法的委托;
3:在调用地方实例化这个委托;
4:调用此委托实例的