上QQ阅读APP看书,第一时间看更新
1.17 同步与异步
同步是指需要等待处理的结果才能继续运行。比如a方法调用b方法,直到b方法调用结束后才能调用c方法。
异步是指不需要等待处理的结果还能继续运行就是异步。比如a方法调用b方法,不需要b方法调用结束就能继续调c方法。
如果有四个任务,分别需要耗时1s,2s,3s,1s,采用同步和异步两种方式运行,在执行时间上有着很大差别。
同步执行效率慢的原因所有任务按顺序执行,如图1-74所示。
图1-74 同步执行
执行总时间为1+2+3+1=7s。
图1-75 异步执行
采用多线程以异步方式执行效率快的原因是所有任务同时执行,如图1-75所示。
执行总时间为3s,取决于单个任务的最长时间。