`

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;
	}
}


相关推荐

Global site tag (gtag.js) - Google Analytics