C#多线程之Task------------ C#

 class Program
    {
        static void Main(string[] args)
        {
            //关于终止task或者线程池的方法,用的都是CancellationTokenSource对象,
            //其实就是一个静态变量。线程的方法循环访问这个静态变量,判断是不是要结束方法
            //没什么特别的,还不如自己写个静态字段


            //task是后台线程
            Task<Int32> t = Task.Run(()=>Count(20));
            t.Wait();//同步等待
            Task cwt = t.ContinueWith(task=>Console.WriteLine("结果是:"+task.Result));//异步等待,而且task.Result就是函数的返回值

            Console.WriteLine("开始啦");
            Console.ReadKey();
        }
      
     


        public static int Count(int countTo)
        {
            for(Int32 count=0;count<countTo;count++)
            {
                
                Console.WriteLine(count);
                Thread.Sleep(200);
            }
            return 1;
        }
    }

 有一次我发现Task<object>无法执行带有参数的Func<,,>,于是,发现了以下方法,效果相当于线程执行

posted on 2015-11-16 23:26  你的乐哥哥  阅读(319)  评论(0编辑  收藏  举报