温馨提示×

c# lambda在多线程中如何使用

c#
小樊
83
2024-06-25 23:33:45
栏目: 编程语言

在多线程中使用lambda表达式可以通过几种方式实现,其中一种常见的方式是使用Task类来创建并启动一个新的任务,并在任务的构造函数中使用lambda表达式来定义要执行的代码块。以下是一个简单的示例:

using System;
using System.Threading;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        // 创建并启动一个新的任务
        Task task = Task.Run(() =>
        {
            // 在lambda表达式中定义要执行的代码块
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine($"Task: {i}");
                Thread.Sleep(1000);
            }
        });

        // 等待任务完成
        task.Wait();

        Console.WriteLine("Main thread finished.");
    }
}

在上面的示例中,通过调用Task.Run()方法创建了一个新的任务,并在lambda表达式中定义了任务要执行的代码块。这个任务会在后台线程中执行,在主线程中调用Wait()方法等待任务完成后打印出"Main thread finished."。这样就实现了在多线程中使用lambda表达式的功能。

0