`

java学习之路二、具体业务实现线程

    博客分类:
  • java
阅读更多
/**
* 业务线程实现类
*/
public class OperationThread extends WorkThread {

	public final static String threadName = "OperationThread";
	
	private final long MAX_RUN_CYCLE = 200L;

	/***
	 * 
	 * @param group
	 * @param name
	 */
	public OperationThread(ThreadGroup group) {
		super(group, threadName);
	}

	public void init()
	{
		alive = true;
	}

	/***
	 * 
	 */
	public void doTask() {
			//编写业务实现
		UserInfo userInfo = null;
		userInfo = UserInfoQueue.getUserInfoQBean();//取队列数据
		System.out.println("name:"+userInfo.getUserName);
		System.out.println("pwd:"+userInfo.getUserPwd);
	}
}
分享到:
评论
2 楼 sblig 2010-12-09  


public class testUserInfoThread {

	/**
	 * @param args
	 */
	@SuppressWarnings("static-access")
	public static void main(String[] args) {
	
		ThreadGroup group = new ThreadGroup("UserInfo");;
		OperationThread operationThread = new OperationThread(group);
		operationThread.init();
		operationThread.start();//启动业务线程,进行业务处理

		
		UserInfo userInfo = new UserInfo();
		userInfo.setUserName("admin");
		userInfo.setUserPwd("admin");
		
		while(true)
		{
			UserInfoQueue.addUserInfoQBean(userInfo);//放入队列
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				
				e.printStackTrace();
			}
		}
		
	}

}

1 楼 sblig 2010-12-09  
//业务实现bean
public class UserInfo{
	private String username;
	private String userpwd;
	
	public  String getUserName(){
	return username;
	}

	public void setUserName(String param){
	this.username=param;
	}
	
	public  String getUserPwd(){
	return userpwd;
	}

	public void setUserPwd(String param){
	this.userpwd=param;
	}
}



//业务队列管理类
public class UserInfoQueue {

	/**
	 * 队列大小
	 */
	private static int MaxUserInfoQ = 1000;
	
	/**
	 * 同步消息队列 send
	 * */
	private static BlockingQueue<UserInfo> sendUserInfoQ = new ArrayBlockingQueue<UserInfo>(MaxUserInfoQ);

	/**
	 * 简述:获得 UserInfo
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static UserInfo getUserInfoQBean()
	{
		if (sendUserInfoQ == null || sendUserInfoQ.size() == 0)
		{
			return null;
		}
		else
		{
			return sendUserInfoQ.poll();
		}
	}
	
	/**
	 * 简述:UserInfo 入队列 
	 * @param userinfo
	 * @see [类、类#方法、类#成员]
	 */
	public static void addUserInfoQBean(UserInfo userinfo)
	{
    	if (sendUserInfoQ.size() < MaxUserInfoQ)
    	{
    		sendUserInfoQ.add(userinfo);
    	}
	}	
	
	public static BlockingQueue<UserInfo> getSendMessageQ() {
		return sendUserInfoQ;
	}

	public static void setSendMessageQ(BlockingQueue<UserInfo> sendMessageQ) {
		this.sendUserInfoQ = sendMessageQ;
	}
}


相关推荐

    Java多线程学习Java多线程学习Java多线程学习Java多线程学习.txt

    Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java多线程学习Java...

    java实现多线程文件传输

    在Java编程语言中,实现多线程文件传输是一种优化程序性能、提高系统资源...在提供的`java多线程文件传输`压缩包中,可能包含了实现这些概念的示例代码,通过分析和学习,可以更好地理解多线程文件传输的原理和实践。

    java多线程模拟队列实现排队叫号

    在Java编程中,多线程技术常常用于模拟现实世界中的并发场景,比如模拟排队叫号系统。这个系统可以通过创建多个线程来代表等待服务的客户,一...在这个过程中,我们学习了线程同步、队列操作以及如何在Java中实现线程。

    JAVA100例之实例64 JAVA线程间通讯

    在Java编程中,线程间通信是多线程编程中的一个重要概念。当多个线程并发执行时,有时需要在线程间传递数据或者同步...学习和掌握这些通信机制对于编写高效、可靠的多线程程序至关重要,也是Java开发者必备的技能之一。

    java多线程Demo

    在Java中,实现多线程有两种主要方式:继承Thread类和实现Runnable接口。 1. 继承Thread类: 当我们创建一个新的类,让它继承Thread类时,可以通过重写`run()`方法来定义线程执行的任务。然后创建该类的对象,并...

    【java学习记录】11.多线程实现阶乘计算(Thread类和Runnable接口)

    总结来说,Java中的`Thread`类和`Runnable`接口提供了两种创建多线程的方式,它们都可用于实现阶乘计算。理解这些基础概念是进行并发编程的关键,也是提升程序效率的重要手段。在实际应用中,应根据项目需求和最佳...

    现代多线程 JAVA和c++多线程实现 测试和调试

    在现代软件开发中,多线程技术已经成为必不可少的一部分,特别是在JAVA和C++这样的高级编程语言中。...无论是JAVA还是C++,都需要深入学习和实践,才能充分利用多线程的优势,同时避免潜在的问题。

    java多线程实现动画功能

    java一些简单的多线程用法,适合初学者

    Java线程学习和总结

    Java线程的创建主要有两种方式:继承`Thread`类和实现`Runnable`接口。继承`Thread`类时,重写`run()`方法并在其中编写线程代码;实现`Runnable`接口则需要将线程代码放入`run()`方法中,并通过`Thread`类的构造函数...

    java多线程的讲解和实战

    实战部分将通过具体的代码示例展示如何创建和管理线程,如何实现线程同步,以及如何利用线程池进行任务调度。通过对这些知识点的学习和实践,读者可以深入理解Java多线程的运用,提升编程技能。

    JAVA多线程学习内容

    总的来说,Java多线程学习涵盖了线程的创建、同步、通信、调度以及异常处理等多个方面,深入理解和掌握这些知识点对于提升Java程序的性能和复杂性至关重要。通过阅读提供的"Java多线程.pdf"文档,你可以进一步了解和...

    多线程两种实现方式Java

    你可以通过运行这些示例来更好地理解和学习Java多线程的概念。例如,它可能包含一个继承`Thread`的类,一个实现`Runnable`的类,以及演示如何启动和管理这些线程的主程序。 总结,理解并熟练掌握Java中的多线程实现...

    java学习笔记2(多线程)

    java学习笔记2(多线程)java学习笔记2(多线程)

    java多线程实现大批量数据导入源码

    `ThreadPoolExecutor`是`ExecutorService`的一个具体实现,我们可以自定义线程池的大小(核心线程数和最大线程数)、线程存活时间、工作队列等参数,以适应不同的性能需求。 在实际操作中,我们需要先将大数据切...

    JAVA实现线程间同步与互斥生产者消费者问题

    在`JThreadSynch`这个压缩包文件中,我们可以预见到包含的Java源代码将展示以上的一种或多种机制,通过具体的示例代码来解释和实现生产者消费者问题的线程同步和互斥。通过学习和理解这个示例,开发者可以更好地掌握...

    Java实现的两个线程同时运行案例

    通过本文,我们可以学习到如何使用Java实现多线程编程,如何创建和启动线程,如何使用Runnable接口来实现线程的任务等知识点。 学习Java多线程编程需要掌握的知识点包括: 1. Java多线程编程的基本概念 2. 如何...

    JAVA线程学习(源代码)

    本资源"JAVA线程学习(源代码)"提供了关于Java线程的源代码示例,帮助我们深入理解和实践线程的使用。 首先,我们要理解Java中的线程模型。Java线程由`java.lang.Thread`类或`java.util.concurrent.Executor`框架来...

    java实现多线程经典模型生产者消费

    java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现...

    基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip

    基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....

    JAVA 线程实现数据库的主从同步更新

    为了进一步学习和实践,你可以查看并分析这个代码,了解具体实现细节。 总之,使用Java线程实现数据库主从同步更新是一种常见且实用的技术手段,它涉及到多线程编程、数据库操作、事务管理等多个方面。理解和掌握...

Global site tag (gtag.js) - Google Analytics