C# System.Threading.Tasks是一个用于多线程编程的命名空间,它提供了一组类和方法,用于管理和协调多个并发任务的执行。下面是一个全面的C# System.Threading.Tasks示例:
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可以用于并行计算、异步操作、任务调度等场景。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云