前言

在实际开发过程中很多人会因为同步,异步,串行,并行等名词搞混,搞不清楚这些名称到底代表的是什么意思。其实这也是实际开发中必须掌握一些知识点。掌握和理解这些概念也有助于我们去更好的去开发。

正文

同步-异步

指的是能否开启新的线程。同步不能开启新的线程,异步可以。

同步:在程序中同步指的就是顺序执行,执行完一个再执行下一个,需要等待、协调运行(代码由上而下依次执行)。

异步:异步和同步是相对的,异步就是彼此独立,在等待某事件的过程中可以继续去做自己的事情,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程继续干其它的事情。

异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理。

串行、并行:

串行和并行指的是任务的执行方式。

串行:是指多个任务时,各个任务按照顺序执行,完成一个之后才能进行下一个。

并行:指的是多个任务可以同时执行。举个栗子:比如在你的程序中你需要调用A接口,A接口调用完毕之后 接着调用B接口,而为了优化性能,我们就可以使用并行的方式来处理,也就是说同时请求A接口和B接口,不需要A接口请求完毕后,在去请求B接口。


to be continued…