在C#中,可以使用Parallel.For
或者Task
來實現多線程操作。下面是兩種方法的示例:
Parallel.For
:using System;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
int start = 0;
int end = 10;
Parallel.For(start, end, i =>
{
Console.WriteLine($"Task {i} is running on thread {Task.CurrentId}");
// 在這里執行你的任務
});
Console.ReadKey();
}
}
Task
:using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
int start = 0;
int end = 10;
Task[] tasks = new Task[end - start];
for (int i = start; i < end; i++)
{
int index = i; // 避免閉包問題
tasks[index] = Task.Run(() =>
{
Console.WriteLine($"Task {index} is running on thread {Task.CurrentId}");
// 在這里執行你的任務
});
}
await Task.WhenAll(tasks);
Console.ReadKey();
}
}
這兩種方法都可以實現在for循環中進行多線程操作。Parallel.For
更簡潔,但是Task
提供了更多的控制和靈活性。請根據你的需求選擇合適的方法。