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

news2024/11/25 10:38:06

    /// <summary>
    /// 
    /// 任务:System.Threading.Tasks(异步编程的一种实现方式)
    /// 表应完成某个单元工作。这个工作可以在单独的线程中运行,也可以以同步方式启动一个任务。
    /// 
    /// 连续任务:
    /// 一个任务 a 的执行依赖于另一个任务 b 的完成。(先执行完b,才能执行a)
    /// 
    /// </summary> 

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

// 调试台

AAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMainThreadEnd……
Download1任务开始……
Download2……
请按任意键继续. . .

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【笔试强训选择题】Day36.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01; 文章目录 前言一、Day…

蚂蚁发布金融大模型:两大应用产品支小宝2.0、支小助将在完成备案后上线

9月8日&#xff0c;在上海举办的外滩大会上&#xff0c;蚂蚁集团正式发布金融大模型。据了解&#xff0c;蚂蚁金融大模型基于蚂蚁自研基础大模型&#xff0c;针对金融产业深度定制&#xff0c;底层算力集群达到万卡规模。该大模型聚焦真实的金融场景需求&#xff0c;在“认知、…

六大排序算法(Java版):从插入排序到快速排序(含图解)

目录 插入排序 (Insertion Sort) 直接插入排序的特性总结&#xff1a; 选择排序 (Selection Sort) 直接选择排序的特性总结 冒泡排序 (Bubble Sort) 冒泡排序的特性总结 堆排序&#xff08;Heap Sort&#xff09; 堆排序的特性总结 希尔排序 (Shell Sort) 希尔排序的…

【Redis】3、Redis主从复制、哨兵、集群

Redis主从复制 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 默认情况下&#xff0c;每台Redis服务器…

SpringMvc 之crud增删改查应用

目录 1.创建项目 2.配置文件 2.1pom.xml文件 2.2 web.xml文件 2.3 spring-context.xml 2.4 spring-mvc.xml 2.5 spring-MyBatis.xml 2.6 jdbc.properties 数据库 2.7 generatorConfig.xml 2.8 日志文件log4j2 3.后台代码 3.1 pageBean.java 3.2切面类 3.3 biz层…

米尔电子|第十六届STM32全国研讨会即将走进11个城市

2023年9月12日至10月27日&#xff0c;以“STM32&#xff0c;不止于芯”为主题的第十六届STM32全国巡回研讨会将走进11个城市。本届研讨会为全天会议&#xff0c;我们将围绕STM32最新产品开展技术演讲和方案演示。 本次STM32全国研讨会&#xff0c;米尔电子将现场展出STM32相关…

Unity——导航系统补充说明

一、导航系统补充说明 1、导航与动画 我们可以通过设置动画状态机的变量&#xff0c;让动画匹配由玩家直接控制的角色的移动。那么自动导航的角色如何与动画系统结合呢&#xff1f; 有两个常用的属性可以获得导航代理当前的状态&#xff1a; 一是agent.velocity&#xff0c;…

GO语言网络编程(并发编程)并发介绍,Goroutine

GO语言网络编程&#xff08;并发编程&#xff09;并发介绍&#xff0c;Goroutine 1、并发介绍 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。 B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更…

Java“牵手”天猫商品详情数据,天猫商品详情API接口,天猫API接口申请指南

天猫平台商品详情接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口&#xff0c;通过…

重排链表(算法时间复杂度O(NlogN))

给定一个单链表 L1​→L2​→⋯→Ln−1​→Ln​&#xff0c;请编写程序将链表重新排列为 Ln​→L1​→Ln−1​→L2​→⋯。例如&#xff1a;给定L为1→2→3→4→5→6&#xff0c;则输出应该为6→1→5→2→4→3。 输入格式&#xff1a; 每个输入包含1个测试用例。每个测试用例…

2023-9-8 扩展欧几里得算法

题目链接&#xff1a;扩展欧几里得算法 #include <iostream> #include <algorithm>using namespace std;int exgcd(int a, int b, int &x, int &y) {if(!b){x 1, y 0;return a;}int d exgcd(b, a % b, y, x);y - a / b * x;return d; }int main() {int…

数据结构之栈的实现(附源码)

目录 一、栈的概念及结构 ​二、栈的实现 三、初学栈的练习题 一、栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出…

Android SDK 上手指南||第十一章 虚拟与物理设备

第十一章 虚拟与物理设备 在之前的文章里&#xff0c;大家已经了解了Android项目当中的基本元素、接触了用户界面的设计以及数据存储方案。接下来&#xff0c;我们将一同探索如何在物理及虚拟设备上运行自己的应用程序并与之互动。在系列文章的下一篇中&#xff0c;我们将分步…

【漏洞复现】一米OA存在任意文件读取漏洞

漏洞描述 一米OA协同办公系统,集成了OA办公自动化系统、手机客户端、专业报表工具,为全国千万企业用户提供全功能、性价比高的OA软件。 该OA系统的getfile.jsp文件存在任意文件上传漏洞,攻击者通过漏洞可以获取服务器的敏感信息。 免责声明 技术文章仅供参考,任何个人和…

浅谈高并发分布式架构演进路径

前言 一直很想写一篇能覆盖分布式方面的文章&#xff0c;但当写的时候发现分布式技术发展到现在阶段&#xff0c;有太多的最佳实践和方法论&#xff0c;网上的文章也特别多&#xff0c;根本无从下手。思来想去&#xff0c;发现很多最佳实践都是有一定的理论支撑&#xff0c;我…

图书管理系统 毕业设计

图书管理系统 毕业设计 摘 要 摘要&#xff1a;二十一世纪是信息的世纪&#xff0c;随着社会经济的发展&#xff0c;社会信息化程度也越来越高&#xff0c;学校作为教育与科技的先行者&#xff0c;优秀的技术往往会被所率先学校采用。优秀的学校管理决策者一定会毫不犹豫地选…

vue中获取农历时间

1.下载依赖 npm i chinese-lunar-calendar 2.局部使用 import { getLunar } from chinese-lunar-calendar; 3.使用 getLunar(new Date().getFullYear(), new Date().getMonth() 1, new Date().getDate()) 结果

【Java】高效利用异常处理技巧

文章目录 前言Java异常体系Error和ExceptionThrowable 常见的错误和异常编译时异常运行时异常Error 异常的处理捕获异常声明抛出异常类型 手动抛出异常对象&#xff1a;throw语法格式注意事项 自定义异常为什么需要自定义异常类 小结 前言 在使用计算机语言进行项目开发的过程…

C++ 学习之深拷贝 和 浅拷贝

前言 在C中&#xff0c;浅拷贝和深拷贝是涉及对象复制的两种不同方式&#xff0c;它们之间的关键区别在于拷贝对象时是否复制对象所指向的数据。 正文 浅拷贝&#xff08;Shallow Copy&#xff09;&#xff1a; 浅拷贝只复制对象本身&#xff0c;而不复制对象所指向的数据。…