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() + "]");
}
}
}
} }

返回列表

最新文章

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

热门文章

  1. Go 语言数据类型
  2. Matlab中数据的存储方式
  3. Android Multimedia框架总结(二十三)MediaCodec补充及MediaMuxer引入(附案例)
  4. MS Office2016留下的坑
  5. Ubuntu和ROS一起愉快玩耍
  6. scheme深拷贝和浅拷贝探索
  7. UNIX网络编程——Socket/TCP粘包、多包和少包, 断包
  8. 如何找到java对应的c/c++源码
  9. 压力测试工具Ab简介
  10. Android的PopupWindow使用android学习之旅(四十三)