摘要:
= 阅读全文
摘要:
Exchange: 1、fanout: 广播模式:每个与此Exchange绑定的Queue,都会接收此Exchange的消息。 之前提到的RabbitMQ消息分发中的channel.basic_publish 中的 exchange ='',这意味着将Producer发送的Message直接发送给名 阅读全文
摘要:
RabbitMQ 持久化: 消息的可靠性是RabbitMQ的一大特色,那么RabbitMQ是如何保证消息可靠性的呢——消息持久化。 为了保证RabbitMQ在退出、异常情况下数据没有丢失,需要将queue,exchange和Message都持久化。 queue持久化是要再队列声明的时候设置durab 阅读全文
摘要:
RabbitMQ: RabbitMQ是一个AMQP实现,传统的messaging queue系统实现,基于Erlang。老牌MQ产品了。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量还在其次。 MQ全称为MessageQueue,消息队列(MQ)是一种应用 阅读全文
摘要:
https://segmentfault.com/a/1190000003063859 阅读全文
摘要:
线程池的概念是什么? 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服 阅读全文
摘要:
进程池: multiprocess提供了一个Pool的类来代表进程池对象。 Pool可以提供指定数量的进程供用户调用,默认大小是CPU的核数,当有新的【请求】提交给Pool的时候,如果Pool没有满,则创建一个进程来执行该【请求】;如果Pool已经满了,则该【请求】会等待,知道进程池中有进程结束,才 阅读全文
摘要:
进程与进程之间是不能像线程那样共享同一个变量的: 进程之间的数据共享: 在使用并发设计的时候,尽量避免数据共享,如果真的有需要进行数据传递与共享,multiprocess提供了2种传递数据的方式: 1、Queue: 类似线程中的queue 主进程在创建子进程的时候,会复制一份Queue到子进程中。 阅读全文
摘要:
进程: 进程就是一个程序在一个数据集上的一次动态执行过程。 进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系 阅读全文
摘要:
Queue: Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块。 Python queue模块有三种队列及构造函数: 1、class queue.Queue(maxsize) - queue模块的FIFO队列先进先出。 2、class queue.LifoQue 阅读全文