private void ConsumeInContext() { Thread = Thread.CurrentThread; try { _TaskQueue.OnElements(action => action.Do()); } catch (OperationCanceledException) { } foreach (var action in _TaskQueue.GetUnsafeQueue()) { action.Cancel(); } _TaskQueue.Dispose(); _EndFiber.TrySetResult(0); }
private void Consume() { SynchronizationContext.SetSynchronizationContext(this.SynchronizationContext); try { _TaskQueue.OnElements(action => action.Do()); } catch (OperationCanceledException) { } foreach (var action in _TaskQueue.GetUnsafeQueue()) { action.Cancel(); } _TaskQueue.Dispose(); _EndFiber.TrySetResult(0); }