Java多线程编程核心技术(第3版)
上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,取决于单个任务的最长时间。