在看博客里,有个订阅功能,当你订阅后,当博主发布新的博客,你都能收到消息。这是如何实现的?是不是后台有个线程在不停的轮询?如果是这样的话,显然太耗资源,如果当博客在发布时,找到所有的订阅者,然后循环的把消息发给订阅者,这样就会显得更人性化了。这就是观察者模式,观察者模式有两个对象:博主,订阅者。当读 ...
分类:
编程语言 时间:
2016-06-29 13:22:55
阅读次数:
149
eventbus和观察者是一样的,需要先导入eventbus的架包。基本的使用步骤就是如下4步,定义事件类型:`publicclassMyEvent{}`定义事件处理方法:`publicvoidonEventMainThread`注册订阅者:`EventBus.getDefault().register(this)`发送事件:`EventBus.getDefault().post(newMyEv..
分类:
其他好文 时间:
2016-06-27 00:06:59
阅读次数:
187
应用在Redis重启、网络闪断并恢复正常后,应用必须能够自恢复,下面以Java语言的jedis客户端为例说明: 1、作为发布者 Jedis对象不能作为单例,网络闪断后该Jedis对象无法自恢复。应该每次发布消息时,从JedisPool中取Jedis对象,再调用set方法。 2、作为订阅者 当网络闪断 ...
分类:
其他好文 时间:
2016-06-17 14:27:54
阅读次数:
639
一. hpfeeds协议简介 hpfeeds是一个轻量级的验证发布-订阅协议(authenticated publish-subscribe protocol)。 发布-订阅协议:发布/订阅协议定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时,会通知所 ...
分类:
其他好文 时间:
2016-06-07 14:37:50
阅读次数:
289
基本概念EventBus是一款针对Android优化的发布/订阅事件总线库。简便了Activities, Fragments, 以及background threads之间的通信,使发送者与订阅者之间有效解耦。
基本使用EventBus的使用也极其简单,只需三步即可。
定义一个事件类型。 public class MessageEvent {
public final String messag...
分类:
其他好文 时间:
2016-06-06 17:05:50
阅读次数:
234
一、发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher)。 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE 命令接收信息的时候,我们称这个客户端为订阅者(subscriber)。 为了解耦发布者(publis ...
分类:
编程语言 时间:
2016-06-05 06:30:42
阅读次数:
400
基本介绍
EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递,这里的事件可以理解为消息,本文中统一称为事件。事件传递既可用于 Android 四大组件间通讯,也可以用户异步线程和主线程间通讯等等。EventBus
EventBus3.0版本有较大的更新,性能上有很大提升。这里只介绍新版本。
传统的事件传递方式包括:Handler...
分类:
其他好文 时间:
2016-06-01 06:51:12
阅读次数:
251
JavaScript-观察者模式(publish/subscribe)观察者模式又叫做发布订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察着对象。它是由两类对象组成,主题和观察者,主题负责发布事件,同时观察者通过订阅这些事件来观察该主体,发布者和订阅者是完全解耦的,彼此不知道对方的存在,两者仅仅共享一个自定义事件的名称。
在N...
分类:
编程语言 时间:
2016-05-13 00:16:38
阅读次数:
161
认识 rxjavaRxJava是 ReactiveX 在JVM上的一个实现,ReactiveX使用Observable序列 组合异步和基于事件 的程序。
Observable(观察者) 和 Subscriber(订阅者)是两个主要的类。在 RxJava 上,一个 Observable 是一个发出数据流或者事件的类,Subscriber 是一个对这些发出的 items (数据流或者事件)进行处理(采...
分类:
编程语言 时间:
2016-05-12 23:12:49
阅读次数:
1152
Observable 数据流有两种类型:hot 和 cold。Cold observables只有当有订阅者订阅的时候, Cold Observable 才开始执行发射数据流的代码。并且每个订阅者订阅的时候都独立的执行一遍数据流代码。 Observable.interval 就是一个 Cold Observable。每一个订阅者都会独立的收到他们的数据流。 try {...
分类:
编程语言 时间:
2016-05-12 20:27:34
阅读次数:
326