protected bool ProcessCoTasksInternal() { int count = this._coTasks.Count; for (int i = 0; i < count; i++) { BaseCoTask baseCoTask = this._coTasks.Dequeue(); if (baseCoTask.MoveNext()) { this._coTasks.Enqueue(baseCoTask); } } foreach (BaseCoTask current in this._shouldRunNext) { this._coTasks.Enqueue(current); } this._shouldRunNext.Clear(); this.CountCoTask = this._coTasks.Count; if (this._coTasks.Count > 0) { return(true); } this._coTasks.Clear(); return(false); }
public void StartTaskPararell(BaseCoTask coTsk) { this.CountCoTask++; this._shouldRunNext.Add(coTsk); }
public void Add(BaseCoTask ct) { this._queue.Enqueue(ct); }