1 Task的简单实用

Task是thread和threadpool两者结合的产物,吸收了二者的优点  进一步添加了一些新的 优秀的功能。

using System;
using System.Threading.Tasks;

namespace 多线程_List
{
    class Program
    {
        static void Main(string[] args)
        {
            //第一种调用方式 需要start
            Task task1 = new Task(() =>
            {
                Console.WriteLine("第一种调用方式");
            });
            //需要start
            task1.Start();

            //以下两种不需要start
            Task task2 = Task.Factory.StartNew(()=> {
                Console.WriteLine("第二种调用方式");
            });

            Task task3 = Task.Run(()=> {
                Console.WriteLine("第三种调用方式");
            });

            Task task4 = new Task(() =>
            {
                Console.WriteLine("这个task,会用同步的方式启动");
            });
            task4.RunSynchronously();//按照同步的方式启动

            Task<string> task5 = new Task<string>(() =>
            {
                return "Task<T>继承自Task,其调用使用方法和Task一样";
            });
            //和Task一样需要start
            task5.Start();
            string str = task5.Result;
            Console.WriteLine(str+"来自有返回值的Task task5");

            Console.ReadKey();
        }
        
    }
}

 

posted @ 2018-12-28 22:45  当年在远方  阅读(155)  评论(0编辑  收藏  举报