Loại trừ lẫn nhau (Mutex)

Tác Giả: Lewis Jackson
Ngày Sáng TạO: 8 Có Thể 2021
CậP NhậT Ngày Tháng: 15 Có Thể 2024
Anonim
C++ Multi Threading Part 2: Mutex And Conditional Variables
Băng Hình: C++ Multi Threading Part 2: Mutex And Conditional Variables

NộI Dung

Định nghĩa - Loại trừ lẫn nhau (Mutex) có nghĩa là gì?

Loại trừ lẫn nhau (mutex) là một đối tượng chương trình ngăn chặn truy cập đồng thời vào tài nguyên được chia sẻ. Khái niệm này được sử dụng trong lập trình đồng thời với một phần quan trọng, một đoạn mã trong đó các quy trình hoặc luồng truy cập vào một tài nguyên được chia sẻ. Mỗi lần chỉ có một luồng sở hữu mutex, do đó, một mutex có tên duy nhất được tạo khi chương trình bắt đầu. Khi một luồng chứa tài nguyên, nó phải khóa mutex khỏi các luồng khác để ngăn truy cập đồng thời của tài nguyên. Khi phát hành tài nguyên, luồng sẽ mở khóa mutex.


Giới thiệu về Microsoft Azure và Microsoft Cloud | Trong suốt hướng dẫn này, bạn sẽ tìm hiểu về điện toán đám mây là gì và Microsoft Azure có thể giúp bạn di chuyển và điều hành doanh nghiệp của bạn từ đám mây như thế nào.

Techopedia giải thích Loại trừ lẫn nhau (Mutex)

Mutex đi vào hình ảnh khi hai luồng làm việc trên cùng một dữ liệu cùng một lúc. Nó hoạt động như một khóa và là công cụ đồng bộ hóa cơ bản nhất. Khi một chủ đề cố gắng để có được một mutex, nó sẽ nhận được mutex nếu nó có sẵn, nếu không thì chủ đề được đặt thành điều kiện ngủ. Loại trừ lẫn nhau làm giảm độ trễ và chờ đợi bận rộn bằng cách sử dụng hàng đợi và chuyển đổi con. Mutex có thể được thi hành ở cả cấp độ phần cứng và phần mềm.


Vô hiệu hóa các ngắt cho số lượng hướng dẫn nhỏ nhất là cách tốt nhất để thực thi mutex ở cấp hạt nhân và ngăn ngừa tham nhũng của các cấu trúc dữ liệu được chia sẻ. Nếu nhiều bộ xử lý chia sẻ cùng một bộ nhớ, một cờ được đặt để bật và tắt việc thu thập tài nguyên dựa trên tính khả dụng. Cơ chế chờ-bận thực thi mutex trong các lĩnh vực phần mềm. Điều này được trang bị các thuật toán như thuật toán Dekkers, thuật toán làm bánh trắng đen, thuật toán Szymanskis, thuật toán Petersons và thuật toán làm bánh Lamports.

Độc giả lẫn nhau và đọc / ghi mã lớp mutex có thể được xác định để triển khai mutex hiệu quả.