public void RunTask(ScheduleSetting task) { if (task == null) { return; } _workerThreads.SingleOrDefault(c => c.Name == task.ThreadName)?.ScheduleExecute(task); }
public void ScheduleExecute(ScheduleSetting poll) { if (poll == null) { return; } lock (lockObj) { if (_queue.Any(c => c.Name == poll.Name)) { return; } _queue.Add(poll); } _autoReset.Set(); }
protected BaseWorker(ScheduleSetting settings) { Settings = settings; }