软硬件易混概念(二)同步vs异步

发布时间 2023-05-22 19:28:20作者: 西伯尔

1、硬件:同步时钟vs异步时钟

同步时钟:

同步时钟+当两个时钟间的相位是固定关系的,则可以称这两个时钟为同步时钟(synchronous+clock)。一般同源,
如由同一个MMCM or PLL产生的两个时钟可以称为同步时钟。因此可以将主时钟和与之对应的衍生时钟约束成同一个时钟组。

异步时钟:

无法判定两个时钟间相位时,则可以称这两个时钟为异步时钟(asynchronous clocks)。两个来自不同晶振的时钟,一定是异步时钟。
通常情况下设计中不同的主时钟肯定是异步时钟,因此可以将这两个主时钟及其衍生时钟约束成不同的时钟组。

参考:
https://blog.csdn.net/yh13572438258/article/details/123580666

2、软件(后台开发):同步通信vs异步通信

AJAX、网站的同步异步,本质是通信。

同步和异步最大的区别就在于。一个需要等待,一个不需要等待。

同步通信:

同步: 发送一个请求,等待返回,然后再发送下一个请求。

当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于假死状态,当这个AJAX执行完后才会解除页面假死状态,代码继续运行。

同步通信,就是送快递的面对面给交你,交互完成即完在,但双方都需要在同一时间内反应,否则会造成另一方阻塞等待。

同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改。

广义上的同步通信方式是指,服务调用方发送一个请求,需要等待服务提供方执行完成的结果,否则就不能继续执行后续逻辑。

异步通信:

异步: 发送一个请求,不等待返回,随时可以再发送下一个请求。

当前AJAX代码运行中的时候其他代码一样可以运行。

异步通信,就是送快递的放在门卫或快递箱,你自己去取,中间不是同步完成的。

异步则是可以提高效率了,现在cpu都是双核,四核,异步处理的话可以同时做多项工作,当然必须保证是可以并发处理的。

广义的异步通信方式是指,上游的服务调用方只要确保请求消息成功发送就可以返回(我们称这样的调用方为消息生产者),继续执行后续的业务。业务逻辑的执行交给下游的服务(我们称这样的服务为消息消费者)。这种异步执行的业务逻辑通常是耗时的长事务,比如说物流发货、视频转码等业务场景。

参考:
链接:https://www.zhihu.com/question/267339268/answer/2734685621