C#学习笔记--使用任务开启线程

本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。

案例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace 使用任务开启线程
{
    class Program
    {
        static void ThreadMethod()
        {
            Console.WriteLine("任务开始");
            Thread.Sleep(2000);
            Console.WriteLine("任务结束");
        }

        static void Main(string[] args)
        {
            //使用任务开启线程的方式1
            //Task task = new Task(ThreadMethod);
            //task.Start();


            //使用任务开启线程的方式2
            TaskFactory factory = new TaskFactory();//new 一个任务工厂
            Task task= factory.StartNew(ThreadMethod);

            Console.ReadKey();
        }
    }
}

结果:
在这里插入图片描述

连续任务

如果一个任务task2的执行是依赖于另一个任务task1的,那么就需要在这个任务task2执行完毕后才开始执行task1。这个时候我们可以使用连续任务。

案例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace 使用任务开启线程
{
    class Program
    {
        static void ThreadMethod()
        {
            Console.WriteLine("任务开始:"+System.Reflection.MethodBase.GetCurrentMethod().Name);
            Thread.Sleep(2000);
            Console.WriteLine("任务结束");
        }

        static void ThreadMethod2(Task task)
        {
            Console.WriteLine("任务开始:" + System.Reflection.MethodBase.GetCurrentMethod().Name);
            Thread.Sleep(2000);
            Console.WriteLine("任务结束");
        }
        static void ThreadMethod3(Task task)
        {
            Console.WriteLine("任务开始:" + System.Reflection.MethodBase.GetCurrentMethod().Name);
            Thread.Sleep(2000);
            Console.WriteLine("任务结束");
        }

        static void Main(string[] args)
        {
 
            Task task = new Task(ThreadMethod);
            task.Start();
            Task task2= task.ContinueWith(ThreadMethod2);
            Task task3= task2.ContinueWith(ThreadMethod3);

            Console.ReadKey();
        }
    }
}

结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值