准备工作: 1)安装RabbitMQ,参考文章:消息中间件系列二:RabbitMQ入门(基本概念、RabbitMQ的安装和运行) 2.)分别新建名为OriginalRabbitMQProducer和OriginalRabbitMQConsumer的maven工程 在pom.xml文件里面引入如下依赖 ...
分类:
编程语言 时间:
2018-09-23 22:19:06
阅读次数:
249
上一篇博客的作为rabbitMQ的入门程序,也是简单队列模式,一个生产者,一个消费者,今天这篇博客介绍work模式,一个生产者,多个消费者,下面的例子模拟两个消费者的情况。 图示: 一个生产者、两个消费者;一个消息只能被一个消费者获取。 在work模式中可以分为两种模式,一种是两个消费者平均消费队列 ...
分类:
其他好文 时间:
2018-09-23 15:01:52
阅读次数:
153
前两篇博客介绍了两种队列模式,这篇博客介绍订阅、路由和通配符模式,之所以放在一起介绍,是因为这三种模式都是用了Exchange交换机,消息没有直接发送到队列,而是发送到了交换机,经过队列绑定交换机到达队列。 一、订阅模式(Fanout Exchange): 一个生产者,多个消费者,每一个消费者都有自 ...
分类:
其他好文 时间:
2018-09-23 14:57:35
阅读次数:
196
1. JMS是什么 1.1. JMS的基础 JMS是什么:JMS是Java提供的一套技术规范 JMS干什么用:用来异构系统 集成通信,缓解系统瓶颈,提高系统的伸缩性增强系统用户体验,使得系统模块化和组件化变得可行并更加灵活 通过什么方式:生产消费者模式(生产者、服务器、消费者) 1.2. JMS消息 ...
分类:
其他好文 时间:
2018-09-23 13:50:31
阅读次数:
835
''' queue队列,什么是队列?排队干一件事,谁去维护排队的关系?预防插队等 队列是一个有顺序的容器,有列表了还要队列干什么。 根本区别是列表里拿走一个数据,数据还在里面。队列是数据取走了就没了 为什么要用队列?提高双方效率,解耦合,生产者向队列里放,(队列),消费者从队列里取 1、先入先出 q... ...
分类:
其他好文 时间:
2018-09-23 00:19:03
阅读次数:
217
系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互,在这种情况下,使用线程池可以很好地提高性能。 线程池的模式很像生产者消费者模式,消费的对象是一个一个的能够运行的任务。 线程池设计思路 1、准备一个任务容器。 2、一次性启动10个消费者线程。 3、刚开始任务容器是空的,所以线程都wait ...
分类:
编程语言 时间:
2018-09-22 17:00:16
阅读次数:
147
前言 并行编程:通过编码方式利用多核或多处理器称为并行编程,多线程概念的一个子集。 并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程。多线程的一种。 并行编程分为如下几个结构: 1.并行的LINQ或PLINQ 2.Parallel类 3.任务并行结构 4.并发集合 5.SpinL ...
分类:
其他好文 时间:
2018-09-22 12:54:14
阅读次数:
214
activeMq简单实例: package com.gordon; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; /** * 生产者 * Created by gordon on 2018/9/8. ...
分类:
其他好文 时间:
2018-09-22 01:06:27
阅读次数:
196
多进程之间通信的限制 看一个例子: 可以看到,声明为global的data也没有发生变化,输出结果仍然是666,这正是多进程之间通信的限制,各个进程之间是相互独立的,互不干扰的内存空间。因此如果想要空想数据就必须开辟一段共享的内存空间。就要用到Manger对象。 Manger对象 我们常用的Mang ...
分类:
其他好文 时间:
2018-09-21 13:28:49
阅读次数:
163