同步执行意味着代码必须顺序执行(即运行完一行再运行下一行),
假设有下面3行代码:
CallAdd(1,2);
CallSub(3,4);
CallMul(5,6);
同步执行就是CallAdd(1,2)执行完后,才能执行CallSub(3,4),同理CallSub(3,4)执行完后,CallMul(5,6)才能执行。
假设CallAdd(1,2)执行的时间很长,如要几个小时才能执行完CallAdd(1,2),那么后面的代码CallSub(3,4)和
CallMul(5,6)则必须等待,直到CallAdd(1,2)执行完后,CallSub(3,4)才能执行,同理CallSub(3,4)执行完后,CallMul(5,6)才能执行。
异步执行则不同,仍然假设CallAdd(1,2)需要执行几个小时的时间,异步执行的话,在CallAdd(1,2)还没有执行完时,CallSub(3,4)
就可以开始执行了,同理,在CallSub(3,4)还没执行完时,CallMul(5,6)也可以被执行了。
在异步执行中,有一个非常特殊的功能,那就是回调(CallBack),CallAdd(1,2)函数可以指定在执行完后要调用的另一个函数,
当过了几个小时,函数执行完了(或者中间出错了),它会发出一个回调命令,这个命令会调用指定的另一个函数,从而可以
通知程序,我执行完了。如果可以,还能传递一些参数,这些参数可能就是函数运行几个小时的结果。
————————————————
版权声明:本文为CSDN博主「friendan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/friendan/article/details/12844899