什么是生产者/消费者模型一种重要的模型,基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入仓库,消费者可以从仓库中取出产品,生产者/消费者模型关注的是以下几个点:1、生产者生产的时候消费者不能消费2、消费者消费的时候生产者不能生产3、缓冲区空时消费者不能消费4、缓... ...
分类:
编程语言 时间:
2017-03-23 18:49:20
阅读次数:
301
java多线程15 :wait()和notify() 的生产者/消费者模式在这一章已经实现了 wait/notify 生产消费模型利用await()/signal()实现生产者和消费者模型一样,先定义一个缓冲区:public class ValueObject { public static Str... ...
分类:
编程语言 时间:
2017-03-23 18:41:46
阅读次数:
189
package cn.xiaojf.kafka.producer; import org.apache.kafka.clients.producer.*; import org.apache.kafka.common.Cluster; import org.apache.kafka.common.P... ...
分类:
其他好文 时间:
2017-03-23 03:06:04
阅读次数:
245
package cn.xiaojf.kafka.producer; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; import or... ...
分类:
其他好文 时间:
2017-03-23 01:50:52
阅读次数:
249
1.1需求 数据库300 万条用户数据 ,遍历获取所有用户, 各种组合关联, 获取到一个新的json ,存到redis 上。 1.2 难点 数据库比较多, 不可能单线程查询所有的数据到内存。 1.3解决办法 多线程读取, 生产者 每次获取200 条数据, 消费者去消费。(这里 主要是根据MySQL分 ...
分类:
数据库 时间:
2017-03-22 21:36:10
阅读次数:
434
线程池本质是一个生产者-消费者模式,一边维护一些线程执行任务,一边由主线程添加一些任务。现在我们抛弃源码中一些繁杂的状态判断,自己写一个线程池。 这里面我使用了一个阻塞队列,当任务添加时,由队列随机选取一个空闲线程进行处理,没有任务时,进行阻塞。 当然也可以不用阻塞队列,不过需要自己进行同步 ...
分类:
编程语言 时间:
2017-03-22 16:28:19
阅读次数:
232
这篇文章是对上一篇讲生成器和迭代器的文章做的补充。回顾一下概念,什么是生成器?生成器就是一个包涵yield关键字的函数,当这个函数被调用的时候,函数体中的代码不会被执行!而是返回了一个迭代器。每请求一个值,就回执行一次生成器中的代码,直到遇到yield或者return。其..
分类:
其他好文 时间:
2017-03-22 11:52:05
阅读次数:
148