为了账号安全,请及时绑定邮箱和手机立即绑定

C# 里异步方法中的Begin***和End***是怎么用的呢?

C# 里异步方法中的Begin***和End***是怎么用的呢?

米脂 2018-12-06 14:14:57
那个End***是干嘛用的?是在执行完Begin***之后要做的事就写在End***里吗? 那么回调方法又是怎么用的?它和End***之间有什么区别?
查看完整描述

3 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

在BeginXXX和EndXXX体系里,回调是用于通知操作执行完成的。

EndXXX阻塞并等待操作执行完成。

在下面的代码示例中,你可以看到 int i=0语句必须等到异步执行完毕后才能执行:

BeginX();  // 发起异步调用

EndX();   // 阻塞当前线程,等待执行完毕

int i =0;  // 其它语句。

 

在下面代码中,异步操作和int i =0 是并行执行的。

BeginX( callback);  // 发起异步调用;

int i =0;  // 其它语句。

 

对于这类问题,我劝你写段代码,然后自己用调试器反复调试,搞清楚执行流程。光看书,光讲理论是没用的。

查看完整回答
反对 回复 2019-01-21
?
DIEA

TA贡献1820条经验 获得超2个赞

如果这个异步方法有返回值的话,返回值要在End***里才能获取到的.

查看完整回答
反对 回复 2019-01-21
  • 3 回答
  • 0 关注
  • 395 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信