欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Task用法之任务等待wait实例

程序员文章站 2022-04-04 08:14:40
...
1.Wait 用法

默认情况下,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);
        }

运行结果: 

 Task用法之任务等待wait实例

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实例

以上就是Task用法之任务等待wait实例的详细内容,更多请关注其它相关文章!