概念
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
。
其中