阅读量:0
在C#中,可以使用System.Threading
命名空间中的类来处理多线程操作。以下是一个简单的示例,展示了如何使用多线程来执行两个任务:
using System; using System.Threading; class Program { static void Main() { // 创建一个Thread对象,表示一个新线程 Thread thread1 = new Thread(new ThreadStart(Task1)); Thread thread2 = new Thread(new ThreadStart(Task2)); // 开始新线程 thread1.Start(); thread2.Start(); // 等待线程执行完成 thread1.Join(); thread2.Join(); Console.WriteLine("所有线程执行完毕"); } static void Task1() { for (int i = 0; i < 5; i++) { Console.WriteLine("线程1: " + i); Thread.Sleep(1000); // 模拟耗时操作 } } static void Task2() { for (int i = 0; i < 5; i++) { Console.WriteLine("线程2: " + i); Thread.Sleep(1000); // 模拟耗时操作 } } }
在这个示例中,我们创建了两个新线程thread1
和thread2
,分别执行Task1
和Task2
方法。Task1
和Task2
方法使用for
循环输出一些文本并模拟耗时操作。通过调用Start()
方法,我们启动了这两个线程。Join()
方法用于等待线程执行完成。
除了使用Thread
类外,还可以使用Task
类来处理多线程操作。Task
类是System.Threading.Tasks
命名空间中的类,它提供了更高级的线程管理功能。以下是使用Task
类的示例:
using System; using System.Threading.Tasks; class Program { static void Main() { // 创建两个Task对象,表示两个异步任务 Task task1 = Task.Run(Task1); Task task2 = Task.Run(Task2); // 等待任务执行完成 Task.WaitAll(task1, task2); Console.WriteLine("所有任务执行完毕"); } static void Task1() { for (int i = 0; i < 5; i++) { Console.WriteLine("线程1: " + i); Thread.Sleep(1000); // 模拟耗时操作 } } static void Task2() { for (int i = 0; i < 5; i++) { Console.WriteLine("线程2: " + i); Thread.Sleep(1000); // 模拟耗时操作 } } }
在这个示例中,我们使用Task.Run()
方法创建了两个异步任务task1
和task2
,分别执行Task1
和Task2
方法。Task.WaitAll()
方法用于等待所有任务执行完成。