溫馨提示×

c# print多線程打印

c#
小樊
121
2024-09-19 20:15:20
欄目: 編程語言

在C#中,如果你想在多線程環境下打印,可以使用Parallel類或者Task類。這里有兩個例子展示如何使用這兩種方法實現多線程打印。

例1:使用Parallel類

using System;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        int numberOfThreads = 5;

        Parallel.For(0, numberOfThreads, i =>
        {
            PrintNumber(i);
        });
    }

    static void PrintNumber(int number)
    {
        Console.WriteLine($"Thread {Environment.CurrentManagedThreadId()} - Number: {number}");
    }
}

例2:使用Task類

using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        int numberOfThreads = 5;

        await Task.WhenAll(Enumerable.Range(0, numberOfThreads).Select(i => PrintNumberAsync(i)));
    }

    static async Task PrintNumberAsync(int number)
    {
        await Task.Delay(100); // 模擬耗時操作
        Console.WriteLine($"Thread {Environment.CurrentManagedThreadId()} - Number: {number}");
    }
}

在這兩個例子中,我們都創建了5個線程來并發地打印數字。第一個例子使用Parallel.For循環,第二個例子使用Task.WhenAll方法配合Enumerable.RangeSelect來創建任務列表。注意,在第二個例子中,我們使用了asyncawait關鍵字來確保線程在執行PrintNumberAsync方法時不會阻塞主線程。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女