/// <summary> /// Process the specified task. It will be processed either now, /// or queued to process on the thread pool. /// </summary> /// <param name="task">The task to process.</param> /// <param name="group">The group this task belongs to.</param> public void ProcessTask(IEngineTask task, TaskGroup group) { lock (this) { _activeTasks++; } if (group != null) { group.TaskStarting(); } var item = new PoolItem(this, task, group); ThreadPool.QueueUserWorkItem(item.ThreadPoolCallback); }
/// <summary> /// Process the specified task. It will be processed either now, /// or queued to process on the thread pool. /// </summary> /// <param name="task">The task to process.</param> /// <param name="group">The group this task belongs to.</param> public void ProcessTask(IEngineTask task, TaskGroup group) { lock (this) { _activeTasks++; } if (group != null) group.TaskStarting(); var item = new PoolItem(this, task, group); ThreadPool.QueueUserWorkItem(item.ThreadPoolCallback); }
public void ProcessTask(IEngineTask task, TaskGroup group) { lock (this) { this._x16f1ed41ac673568++; if (group != null) { group.TaskStarting(); if (0 != 0) { return; } } } PoolItem item = new PoolItem(this, task, group); ThreadPool.QueueUserWorkItem(new WaitCallback(item.ThreadPoolCallback)); }