Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ความขนานแบบเธรดใน C #


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