timeloggerthread.java

来自「一个成熟的论坛」· Java 代码 · 共 53 行

JAVA
53
字号
package com.singnet.util;

import java.util.Iterator;

import com.singnet.data.OfflineBean;
import com.singnet.dwr.INsUserProxy;
import com.singnet.bean.*;

public class TimeLoggerThread extends Thread
{
	private INsUserProxy		nsUserProxy;
	
	public void init()
	{
		System.out.println("Time Compute Started!");
		setDaemon(true);
		start();
	}

	public void run()
	{
		// TODO Auto-generated method stub
		while(true) {
			if(TimeComputeUtils.OFFLINE_LIST.size() > 0) {
				Iterator<OfflineBean> it = TimeComputeUtils.OFFLINE_LIST.iterator();
				while(it.hasNext()) {
					OfflineBean off = it.next();
					NsUser user = nsUserProxy.loadUser(off.getUserID());
					user.setUserOnlineTime(new Integer(user.getUserOnlineTime().intValue() + (int) (off.getOnlineTime() / (1000 * 60))));
					nsUserProxy.saveUser(user);
					System.out.println("用户ID为 " + off.getUserID() + ", 在线时间为 " + off.getOnlineTime() / (1000 * 60) + "分钟");
				}
				TimeComputeUtils.OFFLINE_LIST.clear();
			}
			else {
				try {
					Thread.sleep(1000 * 10);
					System.out.println("Sleep====================");
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

	public void setNsUserProxy(INsUserProxy nsUserProxy)
	{
		this.nsUserProxy = nsUserProxy;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?