Computer >> Máy Tính >  >> Lập trình >> C#

Song song dựa trên luồng trong C #

Trong C #, nhiệm vụ song song phân chia các nhiệm vụ. Các tác vụ sau đó được phân bổ cho các luồng riêng biệt để xử lý. Trong .NET, bạn có các cơ chế sau để chạy mã song song:Thread, ThreadPool và Task. Đối với song song, hãy sử dụng các tác vụ trong C # thay vì Luồng.

Một tác vụ sẽ không tạo chuỗi hệ điều hành của riêng nó, trong khi chúng được thực thi bởi TaskScheduler.

Hãy để chúng tôi xem cách tạo nhiệm vụ. Sử dụng một người được ủy quyền để bắt đầu một nhiệm vụ -

Task tsk = new Task(delegate { PrintMessage(); });
tsk.Start();

Sử dụng Task Factory để bắt đầu một công việc -

Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); });

Bạn cũng có thể sử dụng Lambda -

Task tsk = new Task( () => PrintMessage() );
tsk.Start();

Cách cơ bản nhất để bắt đầu một tác vụ là sử dụng run () -

Ví dụ

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();
   }
}

Đầu ra

1001 loop iterations ends