C#多线程整理(二)

使用委托进行异步调用:

public class TimeConsuming

{

public string OneTimeConsumingMethod()

{

System.Threading.Thread.Sleep(5000); //sleep 5 seconds
return "over";

}


}

 

public class Invoker

{

private delegate string OneTimeConsumingMethodHandler();

public void Execute()

{

OneTimeConsumingMethodHandler h=new OneTimeConsumingMethodHandler(new TimeConsuming().OneTimeConsumingMethod);

//这里开始异步调用

h.BeginInvoke(InvokeCallBack,null);

}

 

private void InvokeCallBack(IAsyncResult r)

{

//这里方法执行返回处理

var asyncRuslt =
                    (System.Runtime.Remoting.Messaging.AsyncResult)r;

 var asyncDel = (OneTimeConsumingMethodHandler)asyncRuslt.AsyncDelegate;

 result = asyncDel.EndInvoke(r);


}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值