在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类更推荐使用,因为它提供了更好的性能和更丰富的功能。