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

Chủ đề và đồng bộ hóa chuỗi trong C #

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

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 mutex để ngăn việc thực thi đồng thời một khối mã của nhiều hơn một 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ã.

Nhóm chủ đề trong C # là một tập hợp các chủ đề. Nó được sử dụng để thực hiện các tác vụ trong nền. Khi một luồng hoàn thành một tác vụ, nó sẽ được gửi đến hàng đợi trong đó tất cả các luồng đang chờ đều có mặt. Điều này được thực hiện để nó có thể được sử dụng lại.

Hãy để chúng tôi xem cách tạo một nhóm chủ đề.

Đầu tiên, sử dụng không gian tên sau -

using System.Threading;

Bây giờ, hãy gọi lớp threadpool, sử dụng đối tượng threadpool. Gọi phương thức QueueUserWorkItem.

ThreadPool.QueueUserWorkItem(new WaitCallback(Run));

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