溫馨提示×

c#如何創建線程

c#
小億
110
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女