还是卖包子的故事, 我们在生产者消费者模型里面,消费者一直问有没有包子,生产者一直生产包子 那么可不可以这样,消费者过来问:有没有包子的时候,告诉他没有,等过会做好了,叫你。 我们可以通过event来做线程间信号传递 ...
分类:
编程语言 时间:
2016-09-04 06:50:36
阅读次数:
157
先说说我的超快速入门,一共共讲五部分,每一部分内容是精华的东西,但都有大量图文说明,因此显得东西很多,仔细看下去,对于尚未入门的同学应该是收获很多的 培训一:使用VI模板 培训二:创建一个可安装的应用程序 培训三:使用状态机框架 培训四:使用生产者消费者框架 培训五:elvis的简单使用介绍 由于一 ...
分类:
其他好文 时间:
2016-09-03 13:32:20
阅读次数:
387
生产者消费者:包子铺不停的做包子,行人不停的买 > 这样就达到了目的 >包子的销售 两个不同的角色 包子铺,行人 只负责单一操作 让包子变成连接的介质. 于是问题来了 >为什么我们需要这个模型? 1解耦:核心就是把生产者和消费者两个对象关系变得不紧密了 2缓冲:如果你是快递员,送一栋人很多的楼,你觉 ...
分类:
编程语言 时间:
2016-09-03 06:22:32
阅读次数:
274
jar包目录格式: 一个正常的jar包下必有META-INF/MANIFEST.MF清单文件,该文件的标准格式为: 1. 常规属性Mainfest-Version: JAR版本号Created-By: 生产者Signature-Version: 签名版本Class-Path: 依赖项列表,若存在多个 ...
分类:
编程语言 时间:
2016-09-01 21:17:17
阅读次数:
135
将循环迭代器视为"生产者-消费者"模式的一种特例:迭代器产生的数据供循环体消费。 因此,用协同程序写迭代器就理所当然了。因为协同程序可以一改传统调用者与被调用者之间的关系。 有了这个特性,在写迭代器时就无须顾及如何在每次成功的迭代调用间保持状态了。 permgen调用如下: 有了迭代器的genera ...
分类:
其他好文 时间:
2016-08-31 00:39:51
阅读次数:
117
在说生产者消费者模式之前,我觉得有必要理解一下 Obj.wait(),与Obj.notify()方法。wait()方法是指在持有对象锁的线程调用此方法时,会释放对象锁,同时休眠本线程。notify()方法是持有相同的对象锁来唤醒休眠的线程,使其具有抢占cpu的资格。可以理解同步方法,同步方法的对象锁 ...
分类:
编程语言 时间:
2016-08-30 22:37:22
阅读次数:
229
一个关于协同程序的经典示例就是“生产者-消费者”的问题。 一个不断产生值,一个不断消费这些值。比如: 如何将send和receive匹配起来,这是一个典型的“谁有主循环”的问题。由于两则都有一个主循环,并且都将对方视为一个可调用的服务。 协同程序被称为一种匹配生产者和消费者的理想工具,一对resum ...
分类:
其他好文 时间:
2016-08-30 12:18:22
阅读次数:
127
由于只是简单地了解和使用了kafka,所以对底层的东西并不做深入的分析,网上有很多资料介绍 kafka的安装以及它的配置,包括zookeeper集群的搭建。本文是在环境搭建好的情况下,介绍kafka在Maven项目中该如何使用。 1、kafka的配置文件 如果生产者和消费者都在一个模块里,那就只需要 ...
分类:
其他好文 时间:
2016-08-30 12:15:55
阅读次数:
259
目录:一、线程1.线程基本操作1.创建线程的方式2.线程锁3.信号量以及事件4.条件以及定时器2.队列的使用1.队列的使用2.生产者消费者模型3.自定义线程池二、进程1.进程基本操作1.创建进程2.进程锁2.进程池三、协程1.greenlet2.gevent四、缓存1.python操作memcache2.python操作red..
分类:
编程语言 时间:
2016-08-29 00:24:16
阅读次数:
312
Object类对线程的支持——等待与唤醒 public final void wait() throws InterruptedException public final void notify() public final void notifyAll() public class Test {... ...
分类:
编程语言 时间:
2016-08-28 22:17:21
阅读次数:
199