1.多线程的实现方式
1.1Thread实现
using System.Threading;
class SimpleThreadExample {
static void ThreadWork() {
for(int i = 0; i < 10; i++) {
Console.WriteLine($"Thread work: {i}");
Thread.Sleep(1000); // 模拟耗时操作
}
}
public static void Main() {
Thread t = new Thread(new ThreadStart(ThreadWork));
t.Start(); // 启动线程
Console.WriteLine("Main thread work...");
}
}
1.2Task实现
using System.Threading.Tasks;
class TPLExample {
static void DoWork(int value) {
for(int i = 0; i < 10; i++) {
Console.WriteLine($"Task work: {value} - {i}");
Task.Delay(100).Wait(); // 模拟耗时操作
}
}
public static void Main() {
Task t1 = Task.Run(() => DoWork(1));
Task t2 = Task.Run(() => DoWork(2));
Task.WaitAll(t1, t2); // 等待所有任务完成
Console.WriteLine("Main completed.");
}
}
1.3并行数据处理
using System.Threading.Tasks;
using System.Linq;
class ParallelForEachExample {
public static void Main() {
var numbers = Enumerable.Range(0, 100).ToArray();
Parallel.ForEach(numbers, number => {
Console.WriteLine($"Pro