一线大厂面试真题-多线程异步和MQ有什么区别

目录

问题分析

问题解答


题分析

多线程异步和MQ异步其实在特性上有异曲同工之妙

多线程是进程内的概念、MQ是分布式消息队列,两者不在同一个维度上;

至于区别 ,我想任何人都可以随便说出一二。

这个问题主要考察候选人对于并发编程和分布式消息队列的理解,

以及候选人如何考虑使用多线程异步和 MQ 来解决不同的问题。

题解答

多线程和MQ虽然在特性上都支持程序的异步操作,但是在实现本质上区别比较大,简单说一下较大区别的几个点

1.   处理任务的维度不同,多线程是同一个进程中的多个线程并行处理任务,MQ是通过把消息发送到不同应用节点的不同进程来处理任务

2.   数据可靠性不同,多线程异步处理任务时,数据是基于共享内存来交互的,一旦程崩溃,内存中的数据会丢失;

使用MQ时,可以通过息队列的持久化机制来保证消息的可靠性

3.   分布式能力方面,MQ 具备分布式能力,可以把消息分发到不同的节点存储和消费、多线程只能在一个进程中处理任务。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值