默许情况下,Task 是有线程池中的异步线程实行,是不是实行完成,能够经由过程Task的的属性IsCompleted 来推断,
假如想在子线程事情完成以后,在举行后续主线程事情能够经由过程挪用task.Wait() 来守候线程完成,挪用Wait 后,当前线程会被壅塞,直到到子线程完成。
代码示例:
static void Main(string[] args) { Task t = Task.Run(() => { Thread.Sleep(500); Console.WriteLine("Lance"); Thread.Sleep(500); }); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); t.Wait(); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); }
运转效果:
2.Wait 设定守候时间
static void Main(string[] args) { Task t = Task.Run(() => { Thread.Sleep(500); Console.WriteLine("Lance"); Thread.Sleep(500); }); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); bool IsComplate= t.Wait(200); Console.WriteLine("wait 200毫秒后 t.IsCompleted=" + t.IsCompleted); Thread.Sleep(1000); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); }
运转效果:
以上就是Task用法之使命守候wait实例的细致内容,更多请关注ki4网别的相干文章!