JavaScript is required

Giao dịch điều khiển tương tranh bằng khoá xảy ra tình huống bế tắc (deadlock). Anh/chị hãy cho biết tình huống này nghĩa là gì?

A.
Là tình huống mà một giao dịch yêu cầu khoá trên một mục mà chẳng bao giờ nhận được khoá trong khi luôn có một giao dịch khác giữ khoá trên mục này.
B.
Là tình huống mà một giao dịch yêu cầu khoá ghi trên một mục mà chỉ nhận được khoá đọc trong khi có một giao dịch khác giữ khoá ghi trên mục này.
C.
Là tình huống mà trong đó mỗi giao dịch trong một tập hay nhiều giao dịch đang đợi nhận khoá của một mục hiện đang bị khoá bởi một giao dịch khác trong một tập giao dịch đó và ngược lại.
D.
Là tình huống mà trong đó mỗi giao dịch: đến sau, được phục vụ trước.
Trả lời:

Đáp án đúng: C


Tình huống bế tắc (deadlock) xảy ra khi hai hoặc nhiều giao dịch cùng chờ đợi lẫn nhau để giải phóng tài nguyên (khoá), dẫn đến không giao dịch nào có thể tiếp tục thực hiện. * **Phương án A:** Mô tả tình huống một giao dịch chờ đợi một khoá vô thời hạn, nhưng không nhất thiết phải có sự chờ đợi lẫn nhau giữa các giao dịch. Do đó, không phải là định nghĩa đầy đủ về deadlock. * **Phương án B:** Tương tự phương án A, chỉ mô tả một dạng xung đột khoá cụ thể, không bao quát được khái niệm deadlock. * **Phương án C:** Mô tả chính xác tình huống deadlock: một tập hợp các giao dịch đang chờ đợi lẫn nhau để có được khoá, tạo thành một vòng chờ đợi. * **Phương án D:** Mô tả chính sách phục vụ (first-come, first-served), không liên quan đến deadlock. Vậy, đáp án đúng là C.

Câu hỏi liên quan