public static async Task WaitForCompletion(ExpensiveComputation comp) { Console.WriteLine($"WaitForCompletion started on thread {Thread.CurrentThread.ManagedThreadId}"); await comp.Completion; Console.WriteLine($"WaitForCompletion completed on thread {Thread.CurrentThread.ManagedThreadId}"); UpdateProgress("✌︎"); }
public static void Start(int n) { var comp = new ExpensiveComputation(n); comp.Start(); #pragma warning disable CS4014 WaitForCompletion(comp); _demo = new Demo(UpdateProgress, comp); }
public Demo(Action <string> updateProgress, ExpensiveComputation comp) { _updateProgress = updateProgress; _animation = new Animation(updateProgress); _expensiveComputation = comp; }