C# 用委托BeginInvoke做异步线程

本文介绍了如何在C#中利用委托和BeginInvoke进行异步线程处理。步骤包括抽离异步方法、定义委托、实例化委托、调用BeginInvoke并指定回调函数,以及编写回调函数来获取异步操作信息并调用EndInvoke获取返回值。


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

 

大概步骤

1:先把你要异步执行的方法抽离出来;

2:定义一个该异步方法的委托;

3:在调用地方实例化这个委托;

4:调用此委托实例的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值