温馨提示×

如何在C#中实现多线程编程

c#
小樊
82
2024-08-22 08:06:32
栏目: 编程语言

在C#中实现多线程编程的方法主要有两种:使用Thread类和使用Task类。以下是使用Thread类实现多线程编程的示例代码:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个新线程并指定要执行的方法
        Thread thread = new Thread(new ThreadStart(DoWork));

        // 启动线程
        thread.Start();

        // 主线程继续执行其他代码
        for (int i = 0; i < 10; i++)
        {
            Console.WriteLine("Main thread running...");
            Thread.Sleep(1000);
        }

        // 等待子线程结束
        thread.Join();
    }

    static void DoWork()
    {
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("Worker thread running...");
            Thread.Sleep(2000);
        }
    }
}

使用Task类实现多线程编程的示例代码如下:

using System;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        // 创建一个Task并指定要执行的方法
        Task task = Task.Run(() =>
        {
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Task running...");
                Task.Delay(2000).Wait();
            }
        });

        // 主线程继续执行其他代码
        for (int i = 0; i < 10; i++)
        {
            Console.WriteLine("Main thread running...");
            Task.Delay(1000).Wait();
        }

        // 等待Task结束
        task.Wait();
    }
}

无论是使用Thread类还是Task类,都可以实现多线程编程。建议在新项目中使用Task类,因为Task类提供了更强大和灵活的多线程编程功能。

0