概念
TimedLockable
定時鎖定型別
型別
標準庫定義了以下TimedLockable型別
要求
如果以下表達式格式良好,則值m是TimedLockable型別
- m.lock()
- 效果:阻塞,直到可以為當前執行代理獲取鎖。 如果引發異常,則不應為當前執行代理獲取鎖。
- m.unlock()
- 要求:當前執行代理應持有m上的鎖。
- 效果:釋放當前執行代理持有的m上的鎖。
- 丟擲:無。
- m.try_lock()
- 效果:嘗試為當前執行代理獲取鎖,而不阻塞。如果丟擲異常,則不應為當前執行代理獲取鎖。
- 返回型別:
bool
- 返回值:如果獲取了鎖,則返回
true
;否則返回false
。
- m.try_lock_for(rel_time)
- 效果:嘗試在rel_time指定的相對超時時間內為當前執行代理獲取鎖。 除非已為當前執行代理獲取了m上的鎖,否則該函式不應在rel_time指定的超時時間內返回。 如果丟擲異常,則不應為當前執行代理獲取鎖。
- 返回型別:
bool
- 返回值:如果獲取了鎖,則返回
true
;否則返回false
。
- m.try_lock_until(abs_time)
- 效果:嘗試在abs_time指定的絕對超時時間之前為當前執行代理獲取鎖。 除非已為當前執行代理獲取了m上的鎖,否則該函式不應在abs_time指定的超時時間之前返回。 如果丟擲異常,則不應為當前執行代理獲取鎖。
- 返回型別:
bool
- 返回值:如果獲取了鎖,則返回
true
;否則返回false
。
其中