protected override void WorkInternal(WorkCollection <T> work_collection) { long milliseconds_per_frame = frame_timer.GetElapsedTimeInMilliseconds(); float interval_per_frame = (float)milliseconds_per_frame / (float)GetWorkIntervalInMilliseconds(); work_collection.WorkPercent(interval_per_frame); frame_timer.Restart(); }
public Worker(long i, Process <T> p, TimeSource t) { timer = new Timer(i, t).StartExpireAndGet(); work_collection = new WorkCollection <T>(p); }
protected abstract void WorkInternal(WorkCollection <T> work_collection);
protected virtual void StartWorkInternal(WorkCollection <T> work_collection) { }