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

      

    运行结果:
  • 相关阅读:
    python count函数
    kubenetes服务发现
    k8s网络
    k8s创建pod流程
    openstack创建虚拟流程、各组件介绍
    生产者消费者问题
    Date类和Calendar类
    Timer定时器
    Java中的克隆
    注解
  • 原文地址:https://www.cnblogs.com/clc2008/p/6978786.html
Copyright © 2011-2022 走看看