ใน 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