在BeginXXX和EndXXX体系里,回调是用于通知操作执行完成的。
EndXXX阻塞并等待操作执行完成。
在下面的代码示例中,你可以看到 int i=0语句必须等到异步执行完毕后才能执行:
BeginX(); // 发起异步调用
EndX(); // 阻塞当前线程,等待执行完毕
int i =0; // 其它语句。
在下面代码中,异步操作和int i =0 是并行执行的。
BeginX( callback); // 发起异步调用;
int i =0; // 其它语句。
对于这类问题,我劝你写段代码,然后自己用调试器反复调试,搞清楚执行流程。光看书,光讲理论是没用的。