码迷,mamicode.com
首页 > 其他好文 > 详细

Task用法(2)-任务等待wait

时间:2017-06-10 16:58:40      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:线程   []   属性   分享   代码示例   工作   sleep   pre   ati   

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

  

运行结果:
技术分享

 

 

Task用法(2)-任务等待wait

标签:线程   []   属性   分享   代码示例   工作   sleep   pre   ati   

原文地址:http://www.cnblogs.com/clc2008/p/6978786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!