C#中基于线程的并行性
在C#中,任务并行性划分任务。然后将任务分配给单独的线程进行处理。在.NET中,您有以下并行运行代码的机制:线程、线程池和任务。对于并行性,请在C#中使用任务而不是线程。
任务不会创建自己的操作系统线程,而它们由TaskScheduler执行。
让我们看看如何创建任务。使用委托开始任务-
Task tsk = new Task(delegate { PrintMessage(); }); tsk.Start();
使用任务工厂启动任务-
Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); });
您也可以使用Lambda-
Task tsk = new Task( () => PrintMessage() ); tsk.Start();
启动任务的最基本方法是使用run()-
示例
using System; using System.Threading.Tasks; public class Example { public static void Main() { Task tsk = Task.Run(() => { int a = 0; for (a = 0; a <= 1000; a++) {} Console.WriteLine("{0} loop iterations ends", a); }); tsk.Wait(); } }输出结果
1001 loop iterations ends