c# print多线程打印

avatar
作者
猴君
阅读量:0

在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方法时不会阻塞主线程。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!