zoukankan      html  css  js  c++  java
  • Task用法(2)-任务等待wait

    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);
            }
    

    运行结果: 

     

    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);
            }
    

      

    运行结果:
  • 相关阅读:
    数据库注意事项
    SQL函数
    2019 SDN阅读作业(2)
    2019 SDN上机第五次作业
    2019 SDN上机第四次作业
    2019 SDN阅读作业
    2019 SDN上机第三次作业
    mysql使用记录
    2019 SDN上机第二次作业
    2019 SDN上机第一次作业
  • 原文地址:https://www.cnblogs.com/clc2008/p/6978786.html
Copyright © 2011-2022 走看看