民國109年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第72題

有關於資料庫的並行控制,下列那些敘述是正確的?

題目

有關於資料庫的並行控制,下列那些敘述是正確的?

  1. (1) 二元鎖定(Binary Lock)只能有兩種狀態lock 與unlock,多重模式鎖定(Multi-Mode Lock)則可以有read_lock、write_lock、unlock 等多種指令
  2. (2) 二元鎖定的lock 與unlock 指令可以交錯執行,因此可以同時有兩個在等待佇列中的交易(Transacti on)一起存取lock 的同一個資料項
  3. (3) 當兩個交易互相等待被對方lock 的資料項時,此時發生了死結 (Deadlock)現象
  4. (4) 某個優先權較低的交易可能會無止盡的一直等待執行,此時發生了飢餓(Starvatio n)現象

官方答案

(1) 二元鎖定(Binary Lock)只能有兩種狀態lock 與unlock,多重模式鎖定(Multi-Mode Lock)則可以有read_lock、write_lock、unlock 等多種指令、(3) 當兩個交易互相等待被對方lock 的資料項時,此時發生了死結 (Deadlock)現象、(4) 某個優先權較低的交易可能會無止盡的一直等待執行,此時發生了飢餓(Starvatio n)現象

解析

二元鎖定只有lock與unlock兩種狀態,且同一資料項被lock後具有排他性,其他交易必須等待,不能讓兩個交易同時存取,故第2項錯誤。多重模式鎖定可區分read_lock、write_lock與unlock,第1項正確。兩交易各自持有對方所需鎖定而互相等待,即形成死結,第3項正確;低優先權交易長期無法取得資源,則屬飢餓,第4項正確。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料