`
lxy2520
  • 浏览: 6117 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

分享一个非常好用的缓冲区和侦听模板(Java、提供源代码下载)

 
阅读更多

啥也不说了,直接上代码,看怎么用的

package unit;

import com.linkage.bss.crm.asynlaunch.ALSwitch;
import com.linkage.bss.crm.asynlaunch.AsynItem;
import com.linkage.bss.crm.asynlaunch.AsynLaunch;
import com.linkage.bss.crm.monitor.BTask;
import com.linkage.bss.crm.monitor.ListenerMonitors;
import com.linkage.bss.crm.monitor.BTask.BExecutor;

public class TestMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//1.化同步为异步
		//A.同步方式
		saySomething("Hello World!");
		//B.修改为异步方式
		AsynItem item = new AsynItem() {
			public boolean launch() {
				saySomething("Hello World 2 !");
				return true;
			}
		};
		AsynLaunch.asynLaunch(item);
		//C.同步方式
		saySomething("Hello World 3 !");
		//此处输出结果:
		/*
		Hello World!
		Hello World 3 !
		Hello World 2 !
		*/
		
		//2.侦听功能
		//需求:每隔1000ms、5个线程同时 saySomething("Hello-" + 数字)
		BTask task = BTask.generate("saySomething Listener",1000,5,new BExecutor() {
			int[] arr = {1,2,3,4,5};
			public boolean execute() {
				int i = (int)(System.currentTimeMillis()%5);
				saySomething("Hello - " + arr[i]);
				return false;
			}
		});
		ListenerMonitors.put(task);
		
		Sleep(10000);
		//关闭缓冲池
		ALSwitch.stop();
	}

	private static void saySomething(String greek) {
		System.out.println(greek);
	}

	private static void Sleep(long ts){
		try {
			Thread.sleep(ts);
		} catch (Exception e) {
		}
	}
}


有问题请留言

源 码 下 载

分享到:
评论

相关推荐

    Mensa:Mensa是模式匹配状态机的通用,灵活,增强和高效的Java实现,如1975年Alfred V. Aho和Margaret J. Corasick的论文所述。

    概述 Mensa是模式匹配状态机的通用,灵活,增强和高效的Java实现,如1975年Alfred V. Aho和Margaret J. Corasick所描述的那样:有效的字符串... 源代码:可以从以下Github项目下载源代码: https://github.com/dell-o

    SHAFT_ENGINE:SHAFT_ENGINE是一个测试自动化引擎,可为任何基础测试自动化框架提供统一的高级界面

    SHAFT_ENGINE 徽章: 如果您想为这个项目做贡献,... 源代码控制的Java 15 Maven项目,可以通过常规功能轻松,定期地进行扩展和增强。 提供易于理解和用户友好的语法,以编写简单,健壮,可维护和可扩展的测试。 提

    Eclipse权威开发指南3.pdf

    4.2.9 将程序与源代码相关联..... 123 4.2.10 热代码替换..... 123 4.3 远程调试...... 124 4.4 练习概述...... 125 4.5 本章小结...... 126 4.6 参考文献...... 127 第5章 协同使用Eclipse 129 5.1 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...

    Eclipse权威开发指南2.pdf

    4.2.9 将程序与源代码相关联..... 123 4.2.10 热代码替换..... 123 4.3 远程调试...... 124 4.4 练习概述...... 125 4.5 本章小结...... 126 4.6 参考文献...... 127 第5章 协同使用Eclipse 129 5.1 Eclipse对CVS的...

    spring chm文档

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring API

    使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多资源 14. 集成视图技术 14.1. 简介 14.2. JSP和...

    Spring中文帮助文档

    使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多资源 14. 集成视图技术 14.1. 简介 14.2. JSP和...

    Spring 2.0 开发参考手册

    目录 前言 1. 简介 1.1. 概览 1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 ... 源代码级的元数据类型 20.3.5. 接口AutodetectCapableMBeanInfoAssembler 20.3.6. 用Java接口定义管理接口 ...

    Eclipse权威开发指南1.pdf

    4.2.9 将程序与源代码相关联..... 123 4.2.10 热代码替换..... 123 4.3 远程调试...... 124 4.4 练习概述...... 125 4.5 本章小结...... 126 4.6 参考文献...... 127 第5章 协同使用Eclipse 129 5.1 ...

    Spring Boot中文文档.rar

    扫描Servlet,过滤器和侦听器 28.4.3.ServletWebServerApplicationContext 28.4.4.自定义嵌入式Servlet容器 程序化定制 直接自定义ConfigurableServletWebServerFactory 28.4.5.JSP限制 28.5....

    reportng-tests

    报告NG示例 通过 maven、testng、selenium 实现。 主要用途:将自定义数据推送为 ReportNG 输出。 您可以在此处找到详细说明: : ... 对于模板定制,您应该提取源代码、进行更新并创建适当的依赖项。

Global site tag (gtag.js) - Google Analytics