线程A:生产者; 线程B:消费者; 具体场景: 线程A调用set(String str),给list里面设置字符串,线程B调用get()方法,删除掉list里面的字符串,模拟生产者消费者 ...
分类:
其他好文 时间:
2018-09-13 20:02:45
阅读次数:
183
一 为什么使用MQ: 二 那么MQ是什么: 三 队列、生产者、消费者 ① 队列是RabbitMQ内部对象,用于存储消息,生产者生产的消息投进队列中,消费者可以从中取消息消费。 ② 多个消费者可以同时订阅一个队列,这个时候队列中的消息会被均分给多个消费者消费,而不是每个消费者都可以拿到所有的消息。 ③ ...
分类:
其他好文 时间:
2018-09-12 01:08:47
阅读次数:
172
python的GIL 锁 python内置的一个全局解释器锁 , 锁的作用就是保证同一时刻一个进程中只有一个线程可以被cpu调度 为什么有这把GIL锁? python语言的创始人在开发这门语言时 , 目的快速把语言开发出来 , 如果加上GIL锁(C语言加锁) , 切换时按照100条字节指令来进行线程 ...
分类:
编程语言 时间:
2018-09-11 21:21:43
阅读次数:
179
锁的分类 :线程安全:线程池:生产者消费者模型:'''锁:由于线程之间随机调度:某线程可能在执行n条后,CPU接着执行其他线程。为了多个线程同时操作一个内存中的资源时不产生混乱,我们使用锁。为什么加锁:1、用于非线程安全, 2、控制一段代码,确保其不产生调度混乱。锁种类介绍: 1、Lock(指令锁) ...
分类:
编程语言 时间:
2018-09-11 19:35:15
阅读次数:
171
现在很多知名的互联网公司都有用到RabbitMQ,其性能,可扩展性让很多大公司青睐于使用它,不过想要完全使用好RabbitMQ需要掌握其核心的一些概念,这里就说说掌握RabbitMQ所需的必要知识 生产者与消费者 生产者: 创建消息,然后发送到代理服务器(RabbitMQ)的程序 消费者:连接到代理 ...
分类:
其他好文 时间:
2018-09-11 17:08:12
阅读次数:
204
1、生产者消费者模型作用和示例如下:1)通过平衡生产者的生产能力和消费者的消费能力来提升整个系统的运行效率 ,这是生产者消费者模型最重要的作用2)解耦,这是生产者消费者模型附带的作用,解耦意味着生产者和消费者之间的联系少,联系越少越可以独自发展而不需要收到相互的制约备注:对于生产者消费者模型的理解将 ...
分类:
其他好文 时间:
2018-09-10 19:48:41
阅读次数:
178
进程间通行=>IPC 管道 队列=管道+锁 import subprocess subprocess.Popen(‘tasklist’,shell=True)开子进程结果往终端里面丢 开进程,子进程和父进程彼此之间没有影响 队列先进先出 from multiprocessing import Que ...
分类:
其他好文 时间:
2018-09-10 17:58:47
阅读次数:
281
工作队列模式是直接在生产者与消费者里声明好一个队列,这种情况下消息只会对应同类型的消费者。 举个用户注册的列子:用户在注册完后一般都会发送消息通知用户注册成功(失败)。如果在一个系统中,用户注册信息有邮箱、手机号,那么在注册完后会向邮箱和手机号都发送注册完成信息。利用MQ实现业务异步处理,如果是用工 ...
分类:
其他好文 时间:
2018-09-09 18:02:21
阅读次数:
173
# -*- coding: UTF-8 -*- """ 多线程的生产者,消费者 使用队列Queue """ import Queue import threading import time import random queue = Queue.Queue(3) # 创建3个大小的队列 class... ...
分类:
编程语言 时间:
2018-09-09 12:10:33
阅读次数:
181