MinerMonitorThread.java 监控线程
2024-10-03 08:18:12
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() + "]");
}
}
}
} }
最新文章
- 代码管理工具 --- git的学习笔记二《git的工作原理》
- [WCF编程]12.事务:事务传播
- Amazon评论数据的预处理代码(Positive &; Negative)
- hibernate一级缓存
- Dojo动画原理解析
- appframework(jqmobi) 3.0 设置
- ivqBlog 开源博客 (angularjs + express + mongodb)
- Java泛型01--任意数组中两元素交换
- 教你把UIView切成任意形状
- LInux系统及其文件系统
- C# 中4个访问符和8个修饰符详解
- [Python]再学 socket 之非阻塞 Server
- 4.docker学习之镜像
- PO订单审批通过API
- Sql 正确删除用户过期的数据
- asp.net core 微信扫码支付(扫码支付,H5支付,公众号支付,app支付)之1
- 创建型模式篇(工厂模式Factory Pattern)
- Git的撤销与回滚
- 快速搭建一个简易的KMS 服务
- 使用select函数改进客户端/服务器端程序