zoukankan      html  css  js  c++  java
  • C# Task.WhenAny使用测试Demo

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    
    namespace ConsoleApp1
    {
        internal class Program
        {
            private static void Main(string[] args)
            {
                var t1 = GetTaskTestSum();      //同步阻塞
                Console.WriteLine(t1.Result);
    
                var t2 = ToDoWithTimeOutAsync();    //同步阻塞
                Console.WriteLine(t2.Result);
    
                Console.ReadLine();
            }
    
            /// <summary>
            /// 测试
            /// </summary>
            /// <returns></returns>
            private static async Task<int> GetTaskTestSum()
            {
                int sum = 0;
                for (int i = 0; i <= 10; i++)
                {
                    sum += 1;
                    Console.WriteLine("sum += " + i);
                    await Task.Delay(50);
                }
    
                return sum;
            }
    
            private static async Task<string> ToDoAsync()
            {
                await Task.Delay(TimeSpan.FromSeconds(1));
                return "To Do Success";
            }
    
            private static async Task<string> ToTimeAsync()
            {
                await Task.Delay(2000);
                return "To Time Success";
            }
    
            /// <summary>
            /// Task.WhenAny任意一个任务完成返回
            /// </summary>
            /// <returns>返回String类型</returns>
            private static async Task<string> ToDoWithTimeOutAsync()
            {
                var toDoTaskAsync = ToDoAsync();
                var timeOutTaskAsync = ToTimeAsync();
                var msg = string.Empty;
                var completedTask = await Task.WhenAny(toDoTaskAsync, timeOutTaskAsync);
                return completedTask.Result;
            }
        }
    }

    本文来自博客园,作者:云辰,转载请注明原文链接:https://www.cnblogs.com/yunchen/p/14959159.html

  • 相关阅读:
    实验七---类的多态
    实验六
    实验五---排序、质数
    实验四---杨辉三角
    node中间件KOA函数
    java文件名判断练习
    npm install 安装报错错误问题
    bundle is not defined 手动搭建项目架构(一)
    ztree实现拖拽功能
    js单线程 详解 来自知乎
  • 原文地址:https://www.cnblogs.com/yunchen/p/14959159.html
Copyright © 2011-2022 走看看