首页 > 其他分享 >软硬件易混概念(二)同步vs异步

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

时间:2023-05-22 19:35:32浏览次数:52  
标签:异步 同步 通信 AJAX vs 软硬件 时钟

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

标签:异步,同步,通信,AJAX,vs,软硬件,时钟
From: https://www.cnblogs.com/sybil-hxl/p/17421518.html

相关文章

  • vscode配置远端服务器深度学习项目
    vscode配置远端服务器深度学习项目1.安装vscode官网地址:https://code.visualstudio.com/下载安装程序,运行安装即可2.连接服务器2.1安装相关插件需要安装Remote-SSH和RemoteDevelopment这两个插件2.2配置服务器连接插件安装完成后,在SSH一栏中点击OpenSSHCo......
  • python实现kafka收到消息然后在通过websockt发送给其他服务器的方法(异步调用并且收到
    importasyncioimportthreadingfromkafkaimportKafkaConsumerimportwebsocketsconnected=set()asyncdefhandler(websocket,path):connected.add(websocket)whileTrue:awaitasyncio.sleep(1)defstart_kafka():consumer=KafkaC......
  • 数模混合设计的LVS流程
    数模混合设计的LVS流程1.前言最近项目到了验证环节,在做LVS碰到了一些问题。网络上也没有文章给出完整的解决方案,自己试了一下,踩了一些坑之后基本上搞定了这个问题,现记录流程供学习交流。整体流程包括:数字模块单独LVS,模拟模块单独过LVS,数字网表反提原理图,顶层数字symbol处理,原......
  • python基础-进程池、submit同异步调用、shutdown参数、ProcessPoolExecutor进程池、进
    转载:(14条消息)python基础-进程池、submit同异步调用、shutdown参数、ProcessPoolExecutor进程池、进程池ftp_pythonsubmit_易辰_的博客-CSDN博客引入进程池在学习线程池之前,我们先看一个例子frommultiprocessingimportProcessimporttimedeftask(name):print(......
  • Java 网络编程 —— 异步通道和异步运算结果
    从JDK7开始,引入了表示异步通道的AsynchronousSockerChannel类和AsynchronousServerSocketChannel类,这两个类的作用与SocketChannel类和ServerSockelChannel相似,区别在于异步通道的一些方法总是采用非阻塞模式,并且它们的非阻塞方法会立即返回一个Future对象,用来存放方......
  • vscode c++链接mongo数据库的操作随笔
     1、需要先下载安装各种软件及依赖1)c++链接mongo数据库需要涉及到这几个库,而且版本直接有范围boostcmakelibbsonmingwmongo-copensslgccmongocxx  2、vscode安装,用vscode的好处就是会省事情很多1)下载安装vscode2022版本2)也可以用vscode进行安装上面的各种类库......
  • MySQL的主从复制之异步复制的简单实现
    (文章目录)前言MySQL异步复制是MySQL数据库中的一种数据复制方式,主要用于在多个MySQL实例之间复制数据。与同步复制不同,异步复制并不要求每个MySQL实例都必须立即接收新数据的更新。相反,更新在主MySQL实例上执行后,异步地传输给从MySQL实例,所以数据的同步可能需要花费一定的时间......
  • VSCode 快捷键整理
    VSCode快捷键整理1,搜索Ctrl+F:查找Ctrl+H:替换2,行操作剪切一行:Ctrl+X复制一行:Ctrl+C删除一行:Ctrl+Shilft+KAlt+↑/↓:向上/向下移动行Movelineup/downShift+Alt+↓/↑:向上/向下复制行Copylineup/down3,导航F12Alt+←/→ :返回/前进Goback......
  • 碧圈异步交易平台AsyncAlgoTrading学习笔记一:下载与编译
    下载无exe或Linux二进制,需源码编译安装GitHub地址:https://github.com/AsyncAlgoTrading/aat.git编译运行环境ubuntu20.04python3.8.10编译1.将Makefile中的PYTHON=python改为PYTHON=python32.安装必要的依赖:(1)sudoapt-getinstallpython3-dev(2)sudoapt-getinstallbui......
  • Visual Studio1.76.0Mac软件安装包下载VS软件安装教程
    [名称]:VisualStudio1.76.0Mac[大小]:2M[语言]:简体中文 [适用系统]:macOS系统[简介]:VisualStudio是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序,VS是一个非常完整的开发工具集,包括了所有软件生命周期中所需的大部分工具,如UML工具、代码管控工具、集成开......