并行 并发 串行 同步 异步
并发
并发指两个或两个以上的事件在同一时间段内发生,具有一定的时间间隔。
并发意味着应用程序同时在多个任务上取得进展。那么,如果计算机只有一个CPU,应用程序可能不会同时完成多个任务,但在应用程序的某个时间内正在处理多个任务。它不能完全完成一个任务,然后再开始下一个任务。
并行
并行指两个或两个以上的事件在同一时刻发生。
同步
串行是同步线程实现的方式。一个任务执行完成后才能执行下一个任务,单线程只能执行一个任务。
异步
线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。
并发和并行其实是异步线程实现的两种形式。并行其实是真正的异步,多核CUP可以同时开启多条线程供多个任务同时执行,互补干扰。但是并发就不一样了,是一个伪异步。在单核CUP中只能有一条线程,但是又想执行多个任务。这个时候,只能在一条线程上不停的切换任务。
异步和同步是相对的,同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。
异步调用
应用场景:在实际的业务中总有这样的场景,后台执行的时间过长,前端需要立即返回结果,以取得良好的客户体验。
异步调用的概念?
异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。
如何实现异步调用?
多线程就是一种实现异步调用的方式。
多线程并不等同于异步,异步才是最终目的。