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() + "]");
}
}
}
}
}
返回列表