moderator.java
来自「利用多线程从搜索引擎下载网页并提取数据到数据库。」· Java 代码 · 共 71 行
JAVA
71 行
import java.util.Date;
import java.util.Queue;
import java.util.LinkedList;
public class Moderator {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public static float maxSpeed;
public static float minInterval;
private static float currentSpeed;
private static Date lastConnection=new Date();
//private static Queue<Date> connections=new LinkedList<Date>();
public Moderator(float speed,float interval) {
maxSpeed = speed;
minInterval=interval;
}
public static synchronized void getQuota() {
refreshSpeed();
while (currentSpeed > maxSpeed) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//return true;
}
private static void refreshSpeed() {
}
public static synchronized void ensureInterval() {
long interval;
interval=new Date().getTime()-lastConnection.getTime();
if (interval < minInterval*1000) {
try {
// Thread.sleep((long)(minInterval*1000)-interval +(long)(Util.getARand()*100));
Thread.sleep((long)(minInterval*1000)-interval );
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
lastConnection=new Date();
//return true;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?