温馨提示×

c#如何创建线程

c#
小亿
81
2024-11-22 10:02:01
栏目: 编程语言

在C#中,创建线程有两种主要方法:使用Thread类和使用Task类。这里我将向您展示如何使用这两种方法创建线程。

方法1:使用Thread类

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个新的Thread实例,指定要执行的函数
        Thread newThread = new Thread(new ThreadStart(MyThreadFunction));

        // 开始执行新线程
        newThread.Start();

        // 在主线程中执行其他操作
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("主线程: " + i);
            Thread.Sleep(1000);
        }

        // 等待新线程执行完成
        newThread.Join();
    }

    static void MyThreadFunction()
    {
        // 在线程中执行的代码
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("新线程: " + i);
            Thread.Sleep(1000);
        }
    }
}

方法2:使用Task类(推荐)

Task类是基于线程池的,提供了更简洁的API和更丰富的功能。以下是使用Task类创建线程的示例:

using System;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        // 使用Task.Run创建一个新任务,指定要执行的函数
        Task newTask = Task.Run(MyThreadFunction);

        // 在主线程中执行其他操作
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("主线程: " + i);
            Thread.Sleep(1000);
        }

        // 等待新任务执行完成
        newTask.Wait();
    }

    static void MyThreadFunction()
    {
        // 在线程中执行的代码
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("新线程: " + i);
            Thread.Sleep(1000);
        }
    }
}

这两种方法都可以创建线程,但Task类更推荐使用,因为它提供了更好的性能和更丰富的功能。

0