C#__多线程之任务和连续任务

/// <summary>

///

/// 任务:System.Threading.Tasks(异步编程的一种实现方式)

/// 表应完成某个单元工作。这个工作可以在单独的线程中运行,也可以以同步方式启动一个任务。

///

/// 连续任务:

/// 一个任务 a 的执行依赖于另一个任务 b 的完成。(先执行完b,才能执行a)

///

/// </summary>

cs 复制代码
    class Program
    {
        static void Test()
        {
            for (int i = 0; i < 1000; i++)
            {
                Console.Write("A");
            }
        }
        static void Test2()
        {
            for (int i = 0; i < 1000; i++)
            {
                Console.Write("B");
            }
        }
        static void Download()
        {
            Console.WriteLine("Download1任务开始......");
        }
        static void Download2(Task task) // 声明这是一个任务类的方法
        {
            Console.WriteLine("Download2......");
        }
        static void Main(string[] args)
        {
            // 定义任务
            TaskFactory tx = new TaskFactory(); // 提供对创建和计划 System.Threading.Tasks.Task 对象的支持。
            Task t = tx.StartNew(Test); // 创建并启动 任务。


            Task t1 = new Task(Test2); // 表示一个异步操作。
            t1.Start();
            Thread.Sleep(1000); // 留下时间给后台线程执行
            Console.WriteLine("MainThreadEnd......");

            // 连续任务
            Task d1 = new Task(Download);

            // 创建一个在目标 System.Threading.Tasks.Task 完成时异步执行的延续任务。
            // 使用ContinueWith方法需要在Download2方法中添加一个Task类参数
            Task d2 = d1.ContinueWith(Download2); // 完成的d1后继续执行d2

            d1.Start();
            Thread.Sleep(10);
        }
    }

// 调试台

cs 复制代码
AAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMainThreadEnd......
Download1任务开始......
Download2......
请按任意键继续. . .
相关推荐
D_alyoo5 分钟前
06 Activiti 与 Spring Boot 整合
java·activiti·activiti7源码
爱编程的鱼7 分钟前
ESLint 是什么?
开发语言·网络·人工智能·网络协议
小陈不好吃9 分钟前
Spring Boot配置文件加载顺序详解(含Nacos配置中心机制)
java·开发语言·后端·spring
Dan.Qiao10 分钟前
python读文件readline和readlines区别和惰性读
开发语言·python·惰性读文件
ゞ 正在缓冲99%…17 分钟前
leetcode1770.执行乘法运算的最大分数
java·数据结构·算法·动态规划
渡我白衣22 分钟前
链接的迷雾:odr、弱符号与静态库的三国杀
android·java·开发语言·c++·人工智能·深度学习·神经网络
A.A呐23 分钟前
【QT第三章】常用控件1
开发语言·c++·笔记·qt
Bony-25 分钟前
Go语言并发编程完全指南-进阶版
开发语言·后端·golang
007php00736 分钟前
大厂深度面试相关文章:深入探讨底层原理与高性能优化
java·开发语言·git·python·面试·职场和发展·性能优化
qq_334466861 小时前
excel VBA应用
java·服务器·excel