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

      

    运行结果:
  • 相关阅读:
    深入理解Http协议
    Http协议详解
    过滤器、监听器、拦截器的区别
    HTTP状态代码集
    理解XML-RPC
    Axis2 解析
    REST SOAP XML-RPC分析比较
    Spring 第一天课程
    Spring 框架学习 有用
    数据库主从复制,读写分离,负载均衡,分表分库的概念 没用
  • 原文地址:https://www.cnblogs.com/clc2008/p/6978786.html
Copyright © 2011-2022 走看看