ใน C # งานคู่ขนานแบ่งงาน งานจะถูกจัดสรรให้แยกเธรดสำหรับการประมวลผล ใน .NET คุณมีกลไกต่อไปนี้ในการเรียกใช้โค้ดแบบขนาน:Thread, ThreadPool และ Task เพื่อความขนานกัน ให้ใช้ task ใน C# แทน Threads
งานจะไม่สร้างเธรด OS ของตัวเองในขณะที่ TaskScheduler ดำเนินการ
ให้เราดูวิธีการสร้างงาน ใช้ผู้รับมอบสิทธิ์เพื่อเริ่มงาน -
Task tsk = new Task(delegate { PrintMessage(); }); tsk.Start();
ใช้ Task Factory เพื่อเริ่มงาน -
Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); });
คุณสามารถใช้แลมบ์ดา −
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