这是我看书时,觉得很好的一段话,在此做下笔记,并适当修改精简。
-----------------------------------------------------------------------------------------------------------------
同步执行意味着代码必须顺序执行(即运行完一行再运行下一行),
假设有下面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)函数可以指定在执行完后要调用的另一个函数,
当过了几个小时,函数执行完了(或者中间出错了),它会发出一个回调命令,这个命令会调用指定的另一个函数,从而可以
通知程序,我执行完了。如果可以,还能传递一些参数,这些参数可能就是函数运行几个小时的结果。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
您的十分满意是我追求的宗旨。
您的一点建议是我后续的动力。