异步、同步、并发的经典解释
-
程序中解释:
异步调用是通过使用单独的线程执行的。原始线程启动异步调用,异步调用使用另一个线程执行请求 ,而与此同时原始的线程继续处理。同步调用则在继续之前必须等待响应或返回值。如果不允许调用继续 即无响应或返回值,就说调用被阻塞了,不能继续执行
-
形象解释:
打电话时就是同步, 发短信时就是异步。
同步.一条马路,只能开一辆车,等这个车开走了,才能开另一辆.异步.一条马路,随便开多少车.
同步,主机A发送数据的时候,主机B必须等待接收,处于阻塞状态,这就好比别人给你打电话,你必须当场听话,否则则【错失良机】异步主机A发送数据的时候,主机B无须等待接收,主机B要获得数据就从缓存里取,就好比别人给你发邮件一样
同步(tóng bù)synchronous;sync;synchronism;synchronization 指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系。
异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 在关系数据库中,允许多个用户同时访问和更改共享数据的进程。SQL Server 使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突。 操作系统并发程序执行的特点: 并发环境下,由于程序的封闭性被打破,出现了新的特点: ①程序与计算不再一一对应,一个程序副本可以有多个计算 ②并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、缓冲区等。 ③并发程序在执行中是走走停停,断续推进的。