欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

google关于事件的生产者消费者模式实现例子

程序员文章站 2023-12-22 18:51:40
...
google使用生产者/消费者模式实现了事件的产生传播处理过程,也就是事件的产生与订阅。

这里通过一个简单的例子来测试运行。

1.定义事件
package com.event;

/**
 * 
 * @author yangjianzhou
 *
 * Jan 24, 2015 11:19:09 AM
 * 
 * 定义事件
 */
public class TestEvent {

	private String name ;
	
	public TestEvent(String name){
		this.name = name ;
	}

	public String getName() {
		return name;
	}
	
}



2.定义事件监听器
package com.listener;

import com.event.TestEvent;
import com.google.common.eventbus.Subscribe;

/**
 * 
 * @author yangjianzhou
 *
 * Jan 24, 2015 11:09:40 AM
 * 
 * 监听事件,然后处理
 */
public class TestListener {
	
	@Subscribe
	public void processOne(TestEvent event){
		System.out.println("this is processOne : " + event.getName());
	}
	
	@Subscribe
	public void processTwo(TestEvent event){
		System.out.println("this is processTwo : " + event.getName());
	}

}



3.测试程序
 package com.test;

import com.event.TestEvent;
import com.google.common.eventbus.EventBus;
import com.listener.TestListener;

/**
 * 
 * @author yangjianzhou
 *
 *         Jan 24, 2015 11:12:06 AM
 * 
 *        事件测试
 */
public class TestEventListener {

	public static void main(String[] args) {
		EventBus eventBus = new EventBus();
		TestEvent event = new TestEvent("yangjianzhou");
		TestListener listener = new TestListener();
		eventBus.register(listener);
		eventBus.post(event);
	}
}



4.运行结果:
 this is processTwo : yangjianzhou
 this is processOne : yangjianzhou

上一篇:

下一篇: