同步、异步、阻塞、非阻塞的思考

AI 大模型在电商精准营销中的应用 例如,对于用户 A 和用户 B,通过比较他们对共同评价过的商品的评分差异来确定相似度。其中,(Gain(D,a))表示特征(a)对数据集(D)的信息增益,(Ent(D))表示数据集(D)的信息熵,(V)表示特征(a)的取值个数,(D^{v})表示特征(a)取值为(v)的样本子集。其中,(sim(A,B))表示用户 A 和用户 B 的相似度,(I)表示用户 A 和用户 B 共同评价过的商品集合,(R_{A,i})和(R_{B,i})分别表示用户 A 和用户 B 对商品(i)的评分。(三)营销活动效果预测。 阅读详情

同步、异步、阻塞、非阻塞的思考

2018第一篇博客,坚持下去。

好久没有写博客,应该坚持下去这个好习惯。 以前对同步、异步、阻塞、非阻塞知道是什么,但是从来没有深入思考他们对区别是什么。但是最近在了解bio、nio、aio(本文对io不进行讲述)的时候,感觉对这几个概念对理解还是满模糊对,所以又进行思考了一下,但是不确定是对还是不对,但是还是记录下来,等各位同学来帮忙指正一下吧。

我的感觉同步和异步这两个的概念指的是交互(泛指)的过程,说到交互肯定指的是两个小伙伴的。而阻塞和非阻塞的这个概念更向是仅仅对一个小伙伴的状态进行描述。

约定:请求者=A, 被请求者=B
1. 同步:同步故名思议同时进行,当A向B请求数据的时候,B可能需要准备数据的时候比较长,所以不立马返回数据,而这个时候A就一直在那里等待数据,当B数据准备完返回给A,A继续运行,这样的一个过程叫作同步。
2. 异步:异步指的是在交互的过程中,A向B请求数据,B准备数据的时间比较长,这个时候可能B单独开个线程或者进程为A准备数据,但是B会立马返回告诉A:”我正在准备数据,当我准备完的时候,会告诉你的,你可以先去忙其他的了”。这个时候A可以去做其他事情,当B准备完成数据之后,会通知A,这个交互的过程为异步。
3. 阻塞:阻塞指的是一方的状态,如果B在准备数据的过程中,A什么也不做,就是一直的在查询B是否准备完成了数据,那么A的这个状态就可以认为是阻塞在这里。
4. 非阻塞:非阻塞指的是当B在准备数据的时候,A不管B是否准备完了数据,A继续做它自己的事情去了,那么称A为非阻塞的。

以上内容是最近对这四个概念的理解,以前对非阻塞和异步的概念应该是有混淆的地方,现在的理解更加清晰了,有什么不对的地方,欢迎来踩点。慢慢积累、慢慢梳理更上一层楼。

jre9下载 jdk9 (Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】 立即下载

相关推荐

Scratch离线版部署指南:解决资源缺失与页面显示异常问题

本文提供了一份详尽的Scratch离线版部署指南,旨在解决网络依赖导致的资源缺失与页面显示异常问题。通过从基础文件获取、自动化资源抓取到生产环境部署的完整流程,帮助教育工作者和开发者在无网络环境下搭建功能完整的本地Scratch编辑器,确保编程教学的顺利进行。

wine的专栏 1261

关于异步的一些思考

关于异步的一些思考

zdy0_2004的专栏 689

CANoe软件之离线报文回放与分析实战

本文详细介绍了如何使用CANoe软件进行离线报文回放与分析,帮助工程师将现场故障数据转化为可反复研究的实验室资源。通过实战步骤,指导如何搭建分析工程、加载DBC文件解码信号,并利用Trace和Graphics窗口进行深度数据筛选与图形化分析,从而高效定位汽车电子故障,是提升诊断效率的关键技能。

weixin_29227585的博客 529

关于异步的思考

云平台的工作流框架AWS Flow Framework给我带来的另一个有所感触的话题是“异步”: 这个框架把异步的行为划分为Workflow端执行的部分和Activity端执行的部分,Workflow控制工作流程,Activity执行具体的工作流task,二者都以poll的模式不断从中心SWF去获取任务。对于开发者来说,用类似这样简单的代码,就完成了整个工作流任务的部署,框架为开发人员隐藏了

kobejayandy的专栏 1088

【Collibra 驱动 IPD 数据血缘治理】:三层图谱分层展示体系与全链路追踪的技术业务实践

(应用级/数据级/字段级)是理解复杂数据流动的核心手段。其价值不仅体现在可视化的直观性,更在于通过。技术保障血缘不可篡改性,进一步提升IPD数据治理的可靠性。,解决了跨层级血缘分析的性能与可用性矛盾。数据血缘图谱要素定义(字节跳动/腾讯云/信安标委)实现对IPD数据的精准追踪,而数据血缘图谱的。分层交互设计标准(智慧城市数据中台规范)Collibra技术文档(2024)字段级血缘的挑战与解决路径。自动优化血缘路径,并深化。字段级血缘技术实现方案。Collibra通过。图数据库性能优化原理。

百态·数智思维 | 聚焦大数据、量化与未来AI 1244

超融合架构实战:如何用3节点搭建企业级分布式存储系统?

本文详细介绍了如何利用3节点搭建企业级分布式存储系统的超融合架构实战指南。从硬件选型、网络配置到存储策略调优,提供了全面的实操建议和性能优化技巧,帮助企业实现高效、弹性的IT基础设施。特别适合需要简化运维、提升存储性能的中型企业参考。

weixin_29200485的博客 325

关于【同步异步】和【阻塞非阻塞】的思考

同步异步着眼于,二者的协同工作时的状态,是否必须互相依赖,一个没立刻完成,另一个就必须等待。 阻塞非阻塞着眼于,二者协同工作时,其中一者本身发生等待的状态。 同步:一项任务A的完成,必须依赖于另一项任务B。在B没有完成之前,任务A无法完成。 A可能会等待任务B完成的过程中,啥也不干,干等着(阻塞);也可以做点别的事情,抽空回来看一下B完成没有(非阻塞)。 异步:一项任务A的完成,必须依赖于另一项任务B。但是A和B可以独立完成自己的任务,A不用专门去管B完成的进度,只需要做自己的事情即可。..

F10yd的博客 201

金蝶云星空API实战:从零到一,用Postman打通业务数据流

本文详细介绍了如何使用Postman调试金蝶云星空API,从创建第三方应用到实战调试技巧,帮助开发者快速打通业务数据流。文章重点讲解了API配置的关键细节、常见问题排查方法以及自动化测试方案,提升开发效率与准确性。

weixin_33712987的博客 518

深入理解同步阻塞、同步非阻塞、异步阻塞、异步非阻塞

这篇文章深入探讨了编程语言层面的同步、异步、阻塞和非阻塞概念。作者首先强调这些概念与操作系统层面的区别,并指出它们都是基于主线程视角来定义的。文章通过清晰的图表和定义,将四种组合模式(同步阻塞、同步非阻塞、异步阻塞、异步非阻塞)进行了详细区分,并用职场求助的生动案例帮助理解。作者特别指出判断函数类型时需明确交互代码范围,并分享了实用的经验结论:普通函数默认同步阻塞,回调函数通常异步,UI回调多为异步阻塞,多线程函数默认非阻塞等。文章最后强调,在UI领域需避免在回调中编写耗时代码,以防造成应用无响应问题。

暗诺星刻的博客 3万+

OneNET物模型实战:如何用NB-IOT模块上传JSON数据并解析

本文详细介绍了如何利用NB-IOT模块将传感器数据上传至中国移动OneNET物联网平台,并利用其物模型功能实现JSON数据的自动解析。文章从理解OneNET物模型与OneJson协议入手,逐步讲解了平台侧物模型创建、设备注册,以及设备端数据构造、HEX编码与NB-IOT模块AT指令上报的全流程,并提供了关键的调试技巧与常见问题排查方法,为物联网开发者提供了完整的实战指南。

sugar的博客 680

SHP转TXT、TXT转SHP工具(附工具下载链接)

关于TXT,可以选择整个图层生成一个TXT。也可以勾选“每个地块单独存TXT”,然后选择一个字段,根据字段值,给每个地块生成一个TXT文件。支持选择和数据框一样的坐标系,也可以选择一个图层,工具会采用和这个图层一样的坐标系。1、TXT数据支持输入单个或者多个TXT文件,也可以直接选择TXT所在的文件夹。所有的TXT数据都生成到一个矢量数据图层。关于这一行的内容,可以在地块坐标行设置中进行设置。其他:①面节点闭合:勾选,则回到起点。属性描述:可以直接复制粘贴进来,也可以直接修改。也可以改为任意字母。

坐听风雨 4297

同步、异步与阻塞、非阻塞的理解

一、同步、异步与阻塞、非阻塞 同步和异步都是基于应用程序所在操作系统处理IO事件所采用的方式,同步是应用程序要直接参与IO读写的操作。异步所有的IO读写交给搡作系统去处理,应用程序只需要等待通知。 网上有许多I/O模型的相关文章,主要涉及四个概念,同步,异步,阻塞,非阻塞。有些文章将这四个作了两两组合,于是就有了:异步阻塞和异步非阻塞,可以明确的说,这完全是牵强之理解,无论<Unix网络编程>一书中所列的I/O模式,还是POSIX标准,都没有提这两个概念。异步就是异步!只有同步才有阻塞和非阻

Charge8的博客 4129

超简单五步实现VOS3000客户端呼入配置

1.查看SIP代理  在注册管理中查看自己线路注册的SIP代理IP地址,记录下来。 2.创建普通账户  创建一个呼入使用的普通账号,选择“计费费率”,根据自己情况选择费率,这里做测试就配置了免费的费率,如果费率不是免费,需要给这个普通账户充值。 3.新建对接网关 新建一个对接网关,点击该网关的“补充设置”,选择“网关类型”为静态IP,然后在IP地址栏填上刚才在注册管理里面记录的SIP代...

非著名运维的博客 1万+

同步异步/阻塞非阻塞

网络中获取数据的读操作步骤: 等待数据准备。 数据从内核空间拷贝到用户空间。 同步与异步: 同步与异步是针对应用程序与内核的交互而言。也就是上图的read操作,从缓存中读取数据,如果缓存中数据还没有准备好,如果是同步操作,它会一直等待,直到操作完成。如果是异步操作,那么它会去做别的事情,等待数据准备好,内核通知它,它再去读取数据。 同步过程中进程触发IO操作并等待或者轮询的去查看IO操作是否完...

EmbeddedCoder 的优快云博客 6981

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

同步阻塞io、同步非阻塞io、异步阻塞io和异步非阻塞io详解和区别

同步阻塞 I/O 简单易用,但可能导致性能问题;同步非阻塞 I/O 可以减少阻塞等待的时间,但需要频繁轮询状态;异步非阻塞 I/O 在高并发环境下表现优秀,但编程复杂度较高。

2301_77760093的博客 3595

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

同步、异步 阻塞、非阻塞

一、同步、异步与阻塞、非阻塞 同步和异步都是基于应用程序所在操作系统处理IO事件所采用的方式,同步是应用程序要直接参与IO读写的操作。异步所有的IO读写交给搡作系统去处理,应用程序只需要等待通知。 网上有许多I/O模型的相关文章,主要涉及四个概念,同步,异步,阻塞,非阻塞。有些文章将这四个作了两两组合,于是就有了:异步阻塞和异步非阻塞,可以明确的说,这完全是牵强之理解,无论<Unix网络编程>一书中所列的I/O模式,还是POSIX标准,都没有提这两个概念。异步就是异步!只有同步才有阻塞和非阻

weixin_52375283的博客 5605

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

详解同步、异步、阻塞、非阻塞

详解同步、异步、阻塞、非阻塞

m0_66220639的博客 1180

同步、异步、阻塞、非阻塞怎么理解?

同步IO和异步IO是根据程序等待IO操作完成的方式来区分的。阻塞IO和非阻塞IO是根据程序在等待IO操作完成时是否能继续执行其他操作来区分的。

2301_76166241的博客 1145

理解同步、异步、阻塞、非阻塞

Q:“讲讲同步、异步、阻塞、非阻塞的区别,以及它们的组合。“这些概念可以从两个维度来理解:第一是消息通知机制同步:调用者需要主动等待或主动轮询结果。异步:调用者发起调用后,被动等待被调用方通知(如回调函数)。第二是调用者等待时的状态阻塞:调用结果返回前,调用者线程被操作系统挂起,无法执行其他操作。非阻塞:调用结果返回前,调用者线程可以继续执行其他操作。同步阻塞:最简单也最低效。线程发起调用后就被挂起,空等结果。同步非阻塞:线程不断轮询检查状态,CPU空转严重,效率不高。异步阻塞。

qq_45906596的博客 1142

简单理解什么是同步阻塞/同步非阻塞,异步阻塞/异步非阻塞

简单理解什么是同步阻塞/同步非阻塞,异步阻塞/异步非阻塞 举个栗子 1、你在家做饭,用普通的汤锅,米放进去,就站在锅边,傻等饭熟。——这叫同步阻塞 是不是觉得浪费了大量的时间,于是你想提高时间的利用效率。 2、还是用普通的汤锅,米放进去,然后继续回去打游戏,过一会就来看一次。——这叫同步非阻塞 时间的利用率稍微提升了一点点,还有没有办法再提升一点呢? 3、你去某宝淘了个电饭锅,饭熟了会自动跳闸的那...

安心写bug的博客 1万+

IO模型:同步阻塞、同步非阻塞、同步多路复用、异步非阻塞

异步I/O(Asynchronous IO【AIO】):用户线程通过系统调用,向内核注册某个IO操作,内核在整个IO操作(包括数据准备、数据复制)完成后,通知用户程序,执行后续的业务操作。非阻塞I/O第一个阶段系统调用请求直接返回,可能误认为和阻塞I/O没有区别,实则非阻塞I/O直接返回后,其他进程也可以执行系统调用。不断进行轮询查看数据是否已由物理设备拷贝至内核缓冲区,当数据准备就绪后,将数据从内核缓冲区拷贝至用户缓冲区仍然是阻塞的。同步阻塞、同步非阻塞、异步非阻塞。关注的是线程的状态。

one2excellent的博客 1065

阻塞和非阻塞,同步和异步 总结

阻塞和非阻塞,同步和异步1 例子故事:老王烧开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。老王想了想,有好几种等待方式1.老王用水壶煮水,并且站在那里,不管水开没开,每隔一定时间看看水开了没。-同步阻塞老王想了想,这种方法不够聪明。2.老王还是用水壶煮水,不再傻傻的站在那里看水开,跑去寝室上网,但是还是会每隔一段时间过来看看水开了没有,水没有开就走人。-同步非阻塞老...

ARRAYLI_博客 2123

阻塞、非阻塞、同步、异步的区别

阻塞、非阻塞、同步、异步、Reactor、Proactor

weixin_45888152的博客 3906

阻塞+非阻塞+同步+异步

在Java高级开发中,阻塞、非阻塞、同步和异步是处理I/O操作的关键概念。阻塞指线程必须等待I/O操作完成,适合简单场景但效率低;非阻塞则允许线程立即返回并继续执行其他任务,通常需要轮询检查状态。同步要求调用者线程主动处理I/O结果,而异步则由系统在操作完成后通知调用者,适合高吞吐量场景但代码复杂度较高。常见的组合包括同步阻塞(BIO)、同步非阻塞(NIO)和异步非阻塞(AIO)。选择哪种方式取决于具体需求:低并发场景可使用同步阻塞,高并发网络应用适合同步非阻塞,而超高吞吐量任务则推荐异步非阻塞。

2301_79263977的博客 1238

同步阻塞、同步非阻塞、异步区别

对于发生一次网络IO,可以分为两部分: 1、等待数据: 阻塞:线程一直阻塞等待数据。 非阻塞:线程发送请求后,不等待数据,通过轮询/信号量等方式去获取数据是否准备好。 2、将数据从内核复制到用户空间: 同步:线程自己把数据从内核复制到用户空间,期间不能做其它事情,一直等待数据复制完毕。 异步:系统内核把数据从内核复制到用户空间,然后再通知相应线程进行数据处理。 总结:阻塞/非阻塞:发生请求后,是否等待接收方处理好数据(是否等待数据处理好)...

ambious1的博客 5510

阻塞和非阻塞、同步和异步的概念

“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。 1.同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) 所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。 换句话说,就是由调用者主动等待这个调用的结果。 而异步则是相反,调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发

Merlin的博客 1276
上一篇: Centos安装Redis做缓存
下一篇: 正数、负数求原码、反码、补码
angle_sun
博客等级 码龄12年 23粉丝 45原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值