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

Đồng bộ hóa chuỗi trong C #

Đồng bộ hóa quyền truy cập vào tài nguyên trong các ứng dụng đa luồng bằng Đồng bộ hóa.

Mutex để đồng bộ hóa chủ đề

Một mutex có thể được sử dụng để đồng bộ hóa các luồng giữa các quy trình. Sử dụng nó để ngăn chặn việc thực thi đồng thời một khối mã của nhiều luồng tại một thời điểm.

Câu lệnh khóa C # được sử dụng để đảm bảo rằng một khối mã chạy mà không bị gián đoạn bởi các luồng khác. Khóa loại trừ lẫn nhau có được cho một đối tượng nhất định trong suốt thời gian của khối mã.

Một câu lệnh lock lấy một đối tượng làm đối số. Tham số được cung cấp cho “khóa” phải là một đối tượng dựa trên kiểu tham chiếu -

public class Demo {
   private System.Object myLock = new System.Object();
   public void Process() {
      lock (myLock) {
      }
   }
}

Lớp Mutex trong C # là lớp nguyên thủy đồng bộ hóa cũng có thể được sử dụng để đồng bộ hóa liên quá trình.

Hãy để chúng tôi xem cách tạo Mutex mới -

private static Mutex m = new Mutex();