MinerMonitorThread.java 监控线程

MinerMonitorThread.java 监控线程

package com.iteye.injavawetrust.miner;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * 监控线程
 * @author Administrator
 *
 */
public class MinerMonitorThread extends Thread {
	
	private static final Log LOG = LogFactory.getLog(MinerMonitorThread.class);
	
	public static volatile boolean done = false;

	@Override
	public void run() {
		while(!done){
			synchronized (this) {
				try {
					Thread.sleep(5000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				if (MinerQueue.unVisitedIsEmpty()
						&& MinerQueue.waitingMiseringIsEmpty()
						&& MinerQueue.storeIsEmpty()) {
					done = true;
					MinerThreadPool.shutdown();
					LOG.info("MinerMonitorThread程序结束。。。。。。当前线程[" + Thread.currentThread().getName() + "]");
					long endTime = System.currentTimeMillis();
					LOG.info("MinerMonitorThread已经访问队列URL大小[" + MinerQueue.getUrlSetSize() + "]当前线程[" + Thread.currentThread().getName() + "]");
					LOG.info("用时[" + MinerUtil.msToss(endTime - MinerUtil.starTime) + "]当前线程[" + Thread.currentThread().getName() + "]");
				}
			}
		}
	}

}

返回列表

原文地址:https://www.cnblogs.com/muyuge/p/6152083.html