同步:在同步程序模型中,任务是一个接着一个执行的,每个任务需要等待前一个任务执行完成后才能开始;

异步:在异步程序模型中,当一个任务已经执行了,你无需等待该任务执行完成,就可以切换到另外一个任务上;

接口 消息队列异步通知 接口异步调用解释_单核

 

接口 消息队列异步通知 接口异步调用解释_python_02

接口 消息队列异步通知 接口异步调用解释_单线程_03

  

接口 消息队列异步通知 接口异步调用解释_python_04

 

同步调用:一种阻塞式调用方式,调用方要等待对方执行完毕才返回,它是一种单向调用;

异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口,就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫做回调方法)

回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;

并发:在一段时间内可以同时处理多个任务,但在同一时间只有一个任务在执行,并且多个任务之间的执行不一定是顺序的。在并发应用程序中,两个任务可以在一段时间内交替启动、运行和完成。例如,任务2 可以在任务1完成之前就启动。

在计算机科学中,不同的CPU实现并发的方式是不同的。在单核CPU环境中,(例如,你的处理器是单核心的),并发是通过切换进程的上下文实现的。如果是多核心的CPU,并发可以通过并行实现。

并行:在同一时间点能同时执行多个任务。在计算机科学中,并行计算是指同时进行多个计算的过程。

并行和并发之间有什么关系呢?

并发性和并行性是指关注的是在计算机架构中任务或计算是如何被执行的;

在单核CPU环境中,并发是通过在同一时间周期内上下文切换来实现的。即在一个特定的时间内,只有一个任务在执行;

在一个多核环境下,并发是通过并发的执行多个任务来实现的;

线程:线程是单一顺序执行的代码,该代码可独立的执行。它是能被操作系统可执行的最小单元。一个程序既可以是单线程的,也可以是多线程的;

进程:一个进程就是一个程序运行的实例。一个程序可以有多个进程(把一个程序启动多次,每个进程都有自己的运行环境,相互不影响)。一个进程启动的时候通常只会启动一个线程,例如一个主要的线程。但随着程序的执行,它可以创建更多的线程;

并发和并行指的是任务执行的方式。同步和异步指的是通讯编程模型。单线程和多线程指的是任务执行的环境。