首页 > 其他分享 >同步异步,阻塞非阻塞

同步异步,阻塞非阻塞

时间:2024-11-12 15:59:01浏览次数:1  
标签:异步 同步 调用者 队列 阻塞 RabbitMQ 消息

同步异步,阻塞非阻塞区别:
 同步:调用者发出请求后,一直等待被调用者返回结果或通知,才进行下一步操作。
 异步:调用者发出请求后,不等待被调用者返回结果或通知,就进行下一步操作。
阻塞:调用者发出请求后,被调用者不返回结果或通知,调用者就一直等待,不能进行其他操作。
 非阻塞:调用者发出请求后,被调用者不返回结果或通知,调用者可以继续进行其他操作。
总之,同步异步是针对当前或其他的线程或者进程(多线程),阻塞非阻塞是针对一个线程里面需不需要等待。

 

 

 rabbitmq原理:RabbitMQ是一个开源的消息代理软件,它实现了AMQP(Advanced Message Queuing Protocol)协议。RabbitMQ使用消息队列来 实现异步通信,可以将消息发送到队列中,然后由消费者从队列中取出消息进行处理。
 RabbitMQ消息持久化的方法是在发送消息时设置消息的持久化属性,这样当RabbitMQ服务器重启时,消息仍然存在。还可以设置队列的持久化属性,这样当RabbitMQ服务器重启时,队列仍然存在。
 RabbitMQ支持多种消息确认机制,包括自动确认、手动确认(ACK机制)和批量确认。自动确认是指RabbitMQ在消息发送到队列后自动确认消息,不需要消费者手动确认。手动确认是指消费者在处理完消息后手动确认消息,这样RabbitMQ才会将消息从队列中删除。

标签:异步,同步,调用者,队列,阻塞,RabbitMQ,消息
From: https://www.cnblogs.com/lvqiang/p/18542067

相关文章

  • rsync+inotify实现文件实时同步
    一、rsync简介rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具RemoteSync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。Rsync使用一个特殊的算法来识别文件的差异,并仅传输发生变化的部分,以实现高效的文件同步和备份。它还支持多种模式和选项,使其非常......
  • [阻塞队列]
    目录1.阻塞队列2.阻塞队列的优点(1)实现服务器之间的"低耦合".(2)实现"削峰填谷"的功能.3.阻塞队列代码举例4.自己实现阻塞队列1.阻塞队列我们知道,标准库中原有的队列Queue及其子类,都是线程不安全的,所以java封装了一个名为"阻塞队列"(BlockingQueue)......
  • obsidian同步方式对比与实践
    用obsidian快三年了,一直是白嫖状态,没有买官方的同步服务。手上有两台Windows、一台安卓平板、一台UOS信创主机。为了解决文件多平台同步问题,尝试了obsidian除官方同步外的几个主流同步方法,对比如下:同步方式费用速度准确度数据安全性OneDrive无,免费版15GB容量即够用,......
  • 【Nginx学习】深入 Nginx:4大步骤揭秘 Nginx 请求的多阶段异步处理
    ......
  • 数字逻辑电路-74194模5扭环形计数器、74160同步7-23加计数器-Quartus2-时序逻辑电路:
    (建议两个实验分成两个项目做,只有LowFreqClk设计会重复)(有些地方会省略文件置顶和编译,有问题的话看看是不是文件没置顶或没编译)一、实验预习:用双向移位寄存器74194和门电路设计一个右移模5的扭环计数器;并画出电路图二、实验内容:1.双向移位寄存器74194的应用——扭环形......
  • Sentos创建后的第一步:设置时间同步,关闭防火墙
    yum配置vi/etc/yum/pluginconf.d/license-manager.conf改为0保存,即可使用yum关闭防火墙和selinuxsudosystemctlstopfirewalldsudosystemctldisablefirewalldsudosed-i"s/SELINUX=enforcing/SELINUX=disabled/g"/etc/selinux/configsudosetenforce0重启......
  • 在 C++ 中,实现线程同步主要有以下几种常见方法
    互斥锁(Mutex)原理:互斥锁用于保护共享资源,确保在同一时刻只有一个线程能够访问被保护的资源。当一个线程想要访问共享资源时,它首先尝试获取互斥锁。如果锁已经被其他线程持有,那么该线程会被阻塞,直到锁被释放。一旦获取到锁,线程就可以安全地访问共享资源,访问结束后再释放锁,以便其......
  • Vue功能菜单的异步加载、动态渲染
            实际的Vue应用中,常常需要提供功能菜单,例如:文件下载、用户注册、数据采集、信息查询等等。每个功能菜单项,对应某个.vue组件。下面的代码,提供了一种独特的异步加载、动态渲染功能菜单的构建方法:<scriptsetup>import{defineComponent,getCurrentInstance,h}......
  • QtThread线程同步和缓冲区设计
    线程同步的概念在多线程应用程序中,由于多个线程的存在,线程之间可能需要访问同一个变量。或一个线程需要等待另外一个线程完成某个操作后才能产生相应的动作。例如,在上一个例子中,工作线程产生随机的骰子点数,主线程读取骰子点数并显示,主线程需要等待工作线程产生一个新的骰子......
  • 高效集成:聚水潭采购数据同步到MySQL
    聚水潭数据集成到MySQL的技术案例分享在本次技术案例中,我们将聚焦于如何通过轻易云数据集成平台,将聚水潭系统中的采购入库单数据高效、准确地集成到MySQL数据库中。具体方案名称为“聚水潭-采购入库单-->BI阿尼三-采购入库表_copy”。首先,针对聚水潭的数据获取,我们使用了其提供......