同步和异步

同步在一定程度上可以看做是单线程,这个线程请求一个方法后就待这个方法给他回复,否则他不往下执行(死心眼)。

异步在一定程度上可以看做是多线程的(废话,一个线程怎么叫异步),请求一个方法后,就不管了,继续执行其他的方法。

比如一个文章系统里面,文章内容通常是字数非常多的,如果数据量大,打开会非常的慢,这个时候可以采取两种方法:

1、死心眼:一直等待要显示的数据全部取出来

标题、作者、来源、创建时间、关键字、点击次数、文章正文

ok,全部取出

显示

碰上心急的用户,他会骂死你的。

2、异步:首先显示能够快速取出的部分:

标题、作者、来源、创建时间、关键字、点击数

显示

然后另外的一个线程等待取出文章的正文显示!

异步就是:做一件事情的同事,不影响做其他的事情。

-----------------------------------------
转帖一些文字:

所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。

异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。

并不是说谁好谁不好,只是同步的机制不适合在正式应用的项目当中(但自己测试还是可以的)

同步,就是实时处理,比如服务器一接收客户端请求,马上响应,这样客户端可以在最短的时间内得到结果,但是如果多个客户端,或者一个客户端发出的请求很频繁,服务器无法同步处理,就会造成涌塞。

异步,就是分时处理,服务器接收到客户端请求后并不是立即处理,而是等待服务器比较空闲的时候加以处理,可以避免涌塞。

同步和异步之分:
同步就是调用一个函数,直接函数执行完了才返回到调用函数
异步就是被调用函数初始化完后马上返回。

----------
同步就是(我死心眼)我等你(给我回答),异步就是(我很忙)我不等你(给我回答)

严格的说,异步还是有两种
一种是等,但是等的过程和同步不一样,等的时候可以做别的工作,但是程序的主线还是等待 WaitforSingleObject(hEvent,INFINTE,TRUE);

另外一种是CALLBACK方式,这种异步是完全不等待,程序主线发出请求之后就干别的事情去了,完全不理会请求执行的如何。

所有异步必然设计两个以上的线程(不然不存在异步的问题),第一种方式下,请求的后期工作是在发出请求的线程上执行,第二种方式下,后期工作可以在任何线程(通常是执行请求的线程上)完成。
[同步和异步]同步和异步是什么? 我们共同进步本系列持续更新,关注我,带你了解更多程序员必备知识下期再见。 阅读详情

相关推荐

Vuex —— 同步和异步请求

上一篇讲到 Vuex 状态管理的内容,那么本篇就来将关于Vuex中的同步和异步数据请求,先来简单的回顾一下 Vuex ,Vuex 中有五个核心属性:state 、getter、mutation、action、module。state: 存放数据状态,不能被直接的修改;getter: 基于 state 的计算属性;mutation: 直接更新 state 的多个方法的对象;action: 通过 mutation 间接更新state;module:分模块化;

灵魂学者的博客 3574

同步和异步的区别及举例

同步和异步是相对的, 同步是指客户端向服务器提交请求,这是客户端一直在等待服务器对其的响应,不能处理其他事情,这样就导致效率比较低。 异步是指客户端向服务器提交请求后,服务器开始处理客户端提交的请求,这是客户端可以继续干别的事情,不用去等待服务器对请求的响应,服务器处理完后就返回给客户端,这样就大大提高了效率, 两者的举例,在实际中的应用 同步:普通的B/S结构,就

MFSGSS3432的专栏 1866

异步和同步

通常情况下,当我们抓取帧的时候是从一个连续的视频流序列中去抓取一个或者多个视频帧。尽管近来有许多的专业设备使用数字信号,但大多数情况下,视频信号是模拟信号(analog)。最常见的模拟视频格式是 NTSC: 640 × 480 pixel, 30 frames per second and PAL: 768 × 576 pixel, 25 frames per seco

hehe6378的专栏 1924

从小白到高手,10 图教你同步与异步

作者 |码农的荒野求生来源 | 码农的荒野求生(id:escape-it)在这篇文章中我们来讨论一下到底什么是同步,什么是异步,以及在编程中这两个极为重要的概念到底意味着什么。相信很多...

优快云资讯 2838

链家二手房信息爬取(内附完整代码)

链家二手房信息爬取1.简介2. 爬虫思路2.1 网页分析2.2 详情页分析2.3 不同页码的爬取2.4 解决链家只显示100页数据2.5 简单的反爬与进度条显示3. 总结 1.简介   最近帮同学爬取了链家在售二手房的信息,这是本人学习爬虫以来爬取数据最多的一次,就想着写个博客记录一下。   本次爬虫是利用python+jupyter notebook实现的,用到的第三方库如下: import pandas as pd # 数据存储 import requests # 网页内容获取 import re #

qq_46256922的博客 3万+

比较器和运算放大器-2

今天继续了解输入阻抗问题,观察下图:首先考虑在我们没有接运放时,A点输出电压为6V,当接入如图所示的阻抗时电压还是6V吗?共模电阻和红框内对地电阻并联,阻值变小,相当于5k,通过计算可以求得A点电压变为4V,这样A的值发生了改变,试想一下这样的信号接入到运放的两端是不是相当于比较的两端信号发生了改变,那结果一定会发生偏离。信号源一般内阻是不确定的,一般也不是很小,如果不想改变输入阻抗,那唯一的办法就是改变运放的内阻了,比如内阻改为100K,1M等,越大越好,是不是A点电压就会无限接近6V。

weixin_42855218的博客 1311

EMC-详解雷击浪涌的防护

1、电子设备雷击浪涌抗扰度试验标准 电子设备雷击浪涌抗扰度试验的国家标准为GB/T17626.5(等同于国际标准IEC61000-4-5 )。 标准主要是模拟间接雷击产生的各种情况: (1)雷电击中外部线路,有大量电流流入外部线路或接地电阻,因而产生的干扰电压。 (2)间接雷击(如云层间或云层内的雷击)在外部线路上感应出电压和电流。 (3)雷电击中线路邻近物体,在其周围建立的强大电磁场,在外部线路上感应出电压。 (4)雷电击中邻近地面,地电流通过公共接地系统时所引进的干扰。 标准除了模拟雷击外,还模拟变电

ltqdxl的博客 6729

从零上手:基于RK3588平台的RKISP Tuner实战配置与核心功能解析

本文详细介绍了在RK3588平台上使用RKISP Tuner工具进行图像信号处理器(ISP)调试的完整实战流程。从MATLAB运行时环境搭建、服务端部署到核心连接,逐步解析如何通过图形化界面实时调节白平衡、锐化、降噪等参数以优化图像质量。文章重点阐述了实时预览、参数调试、抓图对比及参数保存等核心功能,为开发智能摄像头、机器人等AIoT设备的工程师提供了实用的配置指南与进阶技巧。

js777的博客 631

同步与异步的区别

一、同步和异步的区别(1) 同步,就是说你的程序在执行某一个操作时一直等待直到操作完成。  异步,就是说程序在执行某一个操作时,只是发出开始的指令;由另外的并行程序执行这段代码,当完成时再通知调用者。 这里有个地方有相关的介绍  http://ilinux.javaeye.com/blog/190028  http://www.52rd.com/Blog/Detail_RD.Blog_i

leo115的专栏 3898

五子棋AI算法第一篇-我对谷歌Alphago的看法

最近Google宣布他们的围棋AI以5:0的战绩打败欧洲围棋三冠王。我一直对人工智能比较感兴趣,正好趁年前空闲的几天用JS写了一个五子棋的AI。其实很久以前就用自创的算法写过一个JAVA版的五子棋AI,不过棋力很不理想。这次用的是JS写的,所以无论任何平台上只要能打开网页的都可以玩。google爆出这个新闻之后,很多人觉得这是不是意味着电脑智商已经在人类之上了,围棋已经没有意义了之类的。甚至觉得这是

言川的博客 2万+

Agent Skills:AI智能体规模化落地的基础设施

摘要:AgentSkills体系已成为AI智能体落地的核心基础设施,解决了能力扩展和行业知识沉淀两大核心难题。该开放标准通过语义优先、渐进式披露等设计原则,实现了工具调用的标准化和可控化,同时支持轻量化知识沉淀。Skill作为最小能力单元,将传统软件功能、行业知识等封装为可被智能体调用的标准化模块,推动了软件产业从"工具时代"向"智能体时代"的范式变革。目前该体系已被主流Agent工具广泛兼容,形成完整生态,未来将持续演进,进一步降低落地门槛,推动AI原生转型。

技术引领业务创新 1158

理解:什么是同步和异步?什么是阻塞和非阻塞?

一、同步和异步 同步与异步是指访问数据的机制,同步一般指主动请求并等待IO操作完成的方式。 异步则指主动请求数据后便可以继续处理其它任务,随后等待IO操作完毕的通知。 同步和异步最大的区别就在于:同步需要等待,异步不需要等待。 浏览器发送请求给服务器,其有同步请求和异步请求两种方式,接下来我们以浏览器发送请求为例进一步对同步与异步的理解进行说明。 1.1 同步请求 对于同步请求而言,浏览器在发送一个请求之后,需要等待服务器响应返回,才能够发送下一个请求,这一过程的示意图如下所示: 同步请求存在着

weixin_48016395的博客 2万+

智能垃圾桶改造指南:树莓派+垃圾分类模型部署全记录(含数据集获取)

本文提供了一份详尽的智能垃圾桶DIY改造指南,核心是利用树莓派部署轻量化的YOLOv8垃圾分类模型。内容涵盖从数据集获取、模型训练与OpenVINO量化优化,到硬件组装、电路连接及软件集成的全流程,旨在帮助创客和爱好者以低成本实现一个能自动识别垃圾并分类的AIoT原型系统。

k6l7m8n9的博客 509

同步和异步区别

在 Vue.js 中,同步和异步是重要的概念,涉及数据和视图的更新。同步更新保证了数据和视图的实时同步,适用于大多数场景。而异步更新可以提高性能并优化渲染流程,通过延迟数据变化的应用和视图更新来减少不必要的计算和渲染开销。Watchers 允许您监听数据的变化,并在数据发生变化时执行特定的操作或逻辑。通过 Watchers,您可以处理异步任务或执行需要额外处理的逻辑。nextTick 方法允许您在 DOM 更新完成后执行回调函数。

Java领域 1万+

SKILL 是什么?怎么做?五分钟 带你从入门到精通

skill-creator 是 Anthropic 官方开源的“元技能”——一个专门用来创建 Skill 的 Skill。你只需要用自然语言描述想要什么功能,它会自动生成。从更宏观的视角看,Skills 的出现标志着 AI 编程的一次范式转变。在传统的 AI 编程中,代码是确定性的:1 是 1,2 是 2。但到了大模型时代,代码变得不确定——你不知道模型会输出什么,不知道它会不会突然删掉几行代码。这种不确定性让很多开发者感到不安。Skills 把这套逻辑又拉了回来。

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 641

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

同步和异步的区别

同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。   异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。  同步,就是实时处理(如打电话),比如服务器一接收客户端请求,马上响应,这样...

yexiang优快云的专栏 6万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

同步和异步有什么区别

无论使用哪种方式,异步操作的实现都需要注意处理成功和失败的情况,确保及时处理异步操作的结果或错误。async/await: async/await 是 ES2017 引入的用于更加优雅地处理异步操作的语法糖,基于 Promise 对象实现,使得异步代码看起来更像同步代码,易于阅读和维护。async/await: async/await 是 ES2017 引入的用于更加优雅地处理异步操作的语法糖,基于 Promise 对象实现,使得异步代码看起来更像同步代码,易于阅读和维护。关键字,可以定义一个异步函数。

2301_79265530的博客 2546

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

前端必了解的同步和异步

js引擎编译代码的时候,遇到异步事件,就把异步事件调到异步里面执行。等同步执行完之后,就开始执行异步,谁先执行,就把谁的输出结果返回到同步里,并排在最后。

how_so_you的博客 2019

什么是JavaScript的同步和异步

JavaScript同步和异步 JS语言的一大特点是单线程,同一时间只能做一件事。意味着一件事结束以后 才能进行下一件事。 HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程。于是有了同步和异步。 同步: 前一个任务结束后再执行后一个任务,程序执行顺序与任务的排列顺序是一致的、同步的。 异步: 在做一件事的同时可以处理其他事件。 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta c

Dreamer 1297
上一篇: java多线程复习
下一篇: [转]JNDI的一篇文章
hcom
博客等级 码龄22年 14粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值