📄 frequencylimiteddispatcher.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: FrequencyLimitedDispatcher.java
package org.gudy.azureus2.core3.util;
// Referenced classes of package org.gudy.azureus2.core3.util:
// AERunnable, DelayedEvent, SystemTime
public class FrequencyLimitedDispatcher
{
private AERunnable target;
private long min_millis;
private long last_run;
private DelayedEvent delay_event;
public FrequencyLimitedDispatcher(AERunnable _target, int _min_frequency_millis)
{
target = _target;
min_millis = _min_frequency_millis;
}
public void dispatch()
{
long now = SystemTime.getCurrentTime();
boolean run_it = false;
synchronized (this)
{
if (delay_event == null)
{
long delay = min_millis - (now - last_run);
if (now < last_run || delay <= 0L)
{
last_run = now;
run_it = true;
} else
{
delay_event = new DelayedEvent("FreqLimDisp", delay, new AERunnable() {
final FrequencyLimitedDispatcher this$0;
public void runSupport()
{
long now = SystemTime.getCurrentTime();
synchronized (FrequencyLimitedDispatcher.this)
{
last_run = now;
delay_event = null;
}
target.run();
}
{
this$0 = FrequencyLimitedDispatcher.this;
super();
}
});
}
}
}
if (run_it)
target.run();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -