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.
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.
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.
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.
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) trong giao dịch điều khiển tương tranh bằng khoá xảy ra khi hai hoặc nhiều giao dịch cùng chờ đợi lẫn nhau để giải phóng các tài nguyên (khoá) mà chúng đang nắm giữ, 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ả một tình huống chờ đợi, nhưng không nhất thiết là bế tắc. Một giao dịch có thể chờ đợi một khoá trong thời gian dài mà không có nghĩa là có một vòng chờ đợi lẫn nhau.
* **Phương án B:** Mô tả xung đột giữa khoá đọc và khoá ghi, nhưng không đề cập đến vòng chờ đợi gây ra bế tắc.
* **Phương án C:** Mô tả chính xác tình huống bế tắc. Mỗi giao dịch trong một tập hợp đang chờ đợi một tài nguyên (khoá) mà một giao dịch khác trong cùng tập hợp đang giữ, tạo thành một vòng chờ đợi.
* **Phương án D:** Hoàn toàn không liên quan đến bế tắc. "Đến sau, được phục vụ trước" là một chính sách lập lịch.
Vậy đáp án đúng là C.





