kafka简介 kafka是分布式的消息发布和订阅系统(生产->消费) 特点: 消息持久化:通过o(1)的磁盘数据结构提供数据的持久化(拒绝写入内存操作,直接存入磁盘,小伙伴们都知道写入磁盘会速度会很慢,一定程度上受到了限制,那么kafka是如何操作的呢?kafka通过操作系统的预读、后写的机制进行 ...
分类:
其他好文 时间:
2018-11-15 12:11:06
阅读次数:
204
什么是阻塞队列? 一个支持两个附加操作的队列。这两个附加操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者场景。 非阻塞队列与阻塞队列处理方法对比: 非阻塞队列中几个主要方法有: add(E e):将元素e插入到队列末尾。成 ...
分类:
编程语言 时间:
2018-11-13 16:19:27
阅读次数:
161
一、面对生产者和消费者的问题,首先我们得明白几点: 生产者:生产数据;消费者:消费数据。消费者在没有数据可供消费的情况下,不能消费;生产者在原数据没有被消费掉的情况下,不能生产新数据。假设,数据空间只有一个。实际上,如果实现了正确的生产和消费,则,两个线程应该是严格的交替执行。synchronize ...
分类:
编程语言 时间:
2018-11-13 03:00:06
阅读次数:
222
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; public class Five { public static void main(String[] arg... ...
分类:
编程语言 时间:
2018-10-14 13:47:46
阅读次数:
174
一丶背景 说到生产者消费者模式就要先提提多线程了,多线程开发是开发中所常用的,多线程程序相对于单线程程序稳定性更强, 一个线程挂了不会影响整个程序的正常运行。但是当多线程同时操作一个数据源的时候就会出现脏读。 二丶介绍生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。 ...
分类:
其他好文 时间:
2018-10-08 17:20:12
阅读次数:
171
package cn.zz; //简单的生产者和消费者class Resource { private String name; private int count; private boolean flag = false; public synchronized void Set(String ...
分类:
编程语言 时间:
2018-10-07 13:53:43
阅读次数:
121
一 .概述 我们的微服务大体上可以分成下面的两类: [1]服务的生产者 [2]服务的消费者 服务的生产者和消费者之间通过服务中心确定对方的存在,和对方的基本信息. 下面介绍介绍一下这三者之间的关系: [1]生产者启动的时候,会将自己的信息(hostname+port+微服务的描述)注册到服务中心上. ...
分类:
其他好文 时间:
2018-10-06 19:18:59
阅读次数:
145
线程的通讯(生产者和消费者) ? 生产者和消费者模式的思路: A:生产者 先看是否有数据,有就等待;没有就生产,生产完以后通知消费者来消费数据 B:消费者 先看是否有数据,有就消费;没有就等待,通知生产者生产数据? 线程的通讯需要注意的地方: 生产者和消费者表示不同的线程 1.生产者和消费者操作的必 ...
分类:
编程语言 时间:
2018-10-06 15:33:42
阅读次数:
151
1、生产者消费者模型作用和示例如下:1)通过平衡生产者的生产能力和消费者的消费能力来提升整个系统的运行效率 ,这是生产者消费者模型最重要的作用2)解耦,这是生产者消费者模型附带的作用,解耦意味着生产者和消费者之间的联系少,联系越少越可以独自发展而不需要收到相互的制约备注:对于生产者消费者模型的理解将 ...
分类:
其他好文 时间:
2018-09-10 19:48:41
阅读次数:
178
1,首先引入配置文件org.springframework.amqp,如下: 2,准备工作:安装好rabbitmq,并在项目中增加配置文件 rabbit.properties 内容如下: 3,配置spring-rabbitmq.xml,内容如下: 4,生产者(发送端)代码: 5,消费端代码:Test ...
分类:
编程语言 时间:
2018-09-08 12:24:20
阅读次数:
1890