⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searcherlock.java

📁 nutch搜索的改进型工具和优化爬虫的相关工具
💻 JAVA
字号:
/*
 * 创建日期 2005-4-25
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package net.nutch.searcher;

import org.apache.log4j.Logger;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SearcherLock {
	//public static final Logger LOG = Logger.getLogger("lock");
	private static boolean[] locks = new boolean[200];
	private static boolean canLock = true;
	
	public static void init(){
		for (int i=0; i<locks.length; i++)
			locks[i] = false;
	}
	
	public static int getLock(){
		synchronized(locks){
			if (!canLock) return -1;
			for(int i=0; i<locks.length; i++){
				if (!locks[i]){
					locks[i] = true;
					//LOG.info("get lock : " + i);
					return i;
				}
			}
		}
		return -1;
	}
	
	public static void unLock(int i){
		synchronized(locks){
			locks[i] = false;
			//LOG.info("free lock : " + i);
		}
	}
	
	public static void stop(){
		synchronized(locks){
			canLock = false;
			//LOG.info("stop locks!");
		}
	}
	
	public static void start(){
		synchronized(locks){
			canLock = true;
			//LOG.info("start locks!");
		}
	}
	
	public static boolean isAllUnlock(){
		synchronized(locks){
			if (canLock){
				//LOG.info("canlock is true!");
				return false;
			}
			for (int i=0; i<locks.length; i++){
				if (locks[i]){
					//LOG.info("lock : " + i + " is locked!");
					return false;
				}
			}
			//LOG.info("all locks is free!");
			return true;
		}
	}
	

}

⌨️ 快捷键说明

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