public T Get(IEventArgs arg) { T t = SleepPool.Get(arg); RunningPoool.Set(t); return(t); }
public T Get() { T t = SleepPool.Get(); RunningPoool.Set(t); return(t); }
private void AutoClean() { if (!AutoClear) { return; } SleepPool.Clear(SleepPool.count - SleepCapcity); }
public void CycleRunningPool(IEventArgs arg) { while (RunningPoool.count > 0) { T t = RunningPoool.Get(); SleepPool.Set(t, arg); AutoClean(); } }
public void CycleRunningPool() { while (RunningPoool.count > 0) { T t = RunningPoool.Get(); SleepPool.Set(t); AutoClean(); } }
public void Clear(T t, IEventArgs arg, bool ignoreRun = true) { if (IsRunning(t)) { if (ignoreRun) { return; } Set(t, arg); } SleepPool.Clear(t, arg); }
public void Clear(T t, bool ignoreRun = true) { if (IsRunning(t)) { if (ignoreRun) { return; } Set(t); } SleepPool.Clear(t); }
public bool IsSleep(T t) { return(SleepPool.Contains(t)); }
public virtual void Dispose() { CycleRunningPool(null); SleepPool.Dispose(); RunningPoool.Dispose(); }
public void ClearSleepPool(IEventArgs arg) { SleepPool.Clear(arg); }
public void ClearSleepPool() { SleepPool.Clear(); }
public void Set(T t, IEventArgs arg) { RunningPoool.Clear(t); SleepPool.Set(t, arg); AutoClean(); }
public void Set(T t) { RunningPoool.Clear(t); SleepPool.Set(t); AutoClean(); }