以下是使用 Thread 类创建和管理线程的基本示例:
using System;
using System.Threading;
class Program
{
static void Main()
{
// 创建一个新线程并启动
Thread thread = new Thread(new ThreadStart(ThreadMethod));
thread.Start();
// 主线程的操作
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Main Thread: " + i);
Thread.Sleep(1000); // 休眠1秒,模拟其他耗时操作
}
}
static void ThreadMethod()
{
// 新线程的操作
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Thread Method: " + i);
Thread.Sleep(1000); // 休眠1秒,模拟其他耗时操作
}
}
}
在上述示例中,我们创建了一个新线程,并在新线程中执行 ThreadMethod 方法。主线程同时执行 Main 方法中的操作。请注意,Thread.Sleep 是为了演示目的而添加的,以模拟耗时操作。
除了 Thread 类之外,C# 还提供了 Task 类,它是 TPL 的一部分,用于更方便地管理并发任务:
using System;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// 启动一个新的任务
Task.Run(() => ThreadMethod());
// 主线程的操作
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Main Thread: " + i);
Task.Delay(1000).Wait(); // 休眠1秒,模拟其他耗时操作
}
}
static void ThreadMethod()
{
// 新线程的操作
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Thread Method: " + i);
Task.Delay(1000).Wait(); // 休眠1秒,模拟其他耗时操作
}
}
}
这里,我们使用 Task.Run 来启动一个新任务,而不是直接使用 Thread 类。Task.Delay 用于替代 Thread.Sleep。
请注意,在使用多线程时需要小心处理共享资源的同步问题,以防止出现竞争条件(Race Condition)等并发问题。可以使用 lock 语句、Monitor 类或其他同步机制来确保线程安全性。
这只是多线程编程的基础,C# 提供了丰富的多线程和并发编程工具,具体的选择取决于你的应用程序需求。
转载请注明出处:http://www.zyzy.cn/article/detail/14778/C#