首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

需要全面的C#System.Threading.Tasks示例

C# System.Threading.Tasks是一个用于多线程编程的命名空间,它提供了一组类和方法,用于管理和协调多个并发任务的执行。下面是一个全面的C# System.Threading.Tasks示例:

代码语言:csharp
复制
using System;
using System.Threading;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        // 创建一个任务并启动
        Task task1 = Task.Run(() =>
        {
            Console.WriteLine("Task 1 is running.");
            Thread.Sleep(1000);
            Console.WriteLine("Task 1 is completed.");
        });

        // 创建一个带返回值的任务并启动
        Task<string> task2 = Task.Run(() =>
        {
            Console.WriteLine("Task 2 is running.");
            Thread.Sleep(2000);
            Console.WriteLine("Task 2 is completed.");
            return "Task 2 result";
        });

        // 创建一个任务并等待其他任务完成后再启动
        Task task3 = task2.ContinueWith((prevTask) =>
        {
            Console.WriteLine("Task 3 is running after Task 2 is completed.");
            Thread.Sleep(500);
            Console.WriteLine("Task 3 is completed.");
        });

        // 创建一个带返回值的任务并等待其他任务完成后再启动
        Task<string> task4 = task2.ContinueWith((prevTask) =>
        {
            Console.WriteLine("Task 4 is running after Task 2 is completed.");
            Thread.Sleep(500);
            Console.WriteLine("Task 4 is completed.");
            return "Task 4 result";
        });

        // 等待所有任务完成
        Task.WaitAll(task1, task2, task3, task4);

        // 输出任务的返回值
        Console.WriteLine("Task 2 result: " + task2.Result);
        Console.WriteLine("Task 4 result: " + task4.Result);

        Console.ReadLine();
    }
}

这个示例展示了如何使用C# System.Threading.Tasks来创建和管理多个并发任务。在示例中,我们创建了四个任务:task1、task2、task3和task4。task1和task2是独立的任务,task3和task4依赖于task2的完成。

任务task1和task2分别使用Task.Run方法来创建并启动。task1执行一个简单的操作,task2执行一个较长的操作并返回一个字符串结果。

任务task3和task4使用ContinueWith方法来创建,并指定它们在task2完成后执行。这样可以确保task3和task4在task2完成后才开始执行。

最后,我们使用Task.WaitAll方法等待所有任务完成,并输出task2和task4的返回值。

这个示例展示了C# System.Threading.Tasks的基本用法,它可以帮助开发人员更好地管理多线程编程中的并发任务。在实际应用中,C# System.Threading.Tasks可以用于并行计算、异步操作、任务调度等场景。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券