33 Thread support library [thread]

33.2 Requirements [thread.req]

33.2.5 Requirements for Lockable types [thread.req.lockable]

33.2.5.4 TimedLockable requirements [thread.req.lockable.timed]

Тип L соответствует TimedLockable требованиям, если он соответствует Lockable требованиям, а следующие выражения правильно сформированы и имеют указанную семантику (m обозначает значение типа L, rel_­time обозначает значение экземпляра durationи abs_­time обозначает значение экземпляра time_­point).

m.try_lock_for(rel_time)

Effects: Пытается получить блокировку для текущего агента выполнения в течение относительного таймаута ([thread.req.timing]), указанного в rel_­time. Функция не должна возвращаться в течение тайм-аута, указанного в, rel_­time если она не получила блокировку m для текущего агента выполнения. Если выбрасывается исключение, то для текущего агента выполнения блокировка не должна быть получена.

Return type: bool.

Returns: true если блокировка была приобретена, false иначе.

m.try_lock_until(abs_time)

Effects: Пытается получить блокировку для текущего агента выполнения до абсолютного тайм-аута ([thread.req.timing]), указанного в abs_­time. Функция не должна возвращаться до истечения тайм-аута, указанного в, abs_­time если только она не получила блокировку m для текущего агента выполнения. Если выбрасывается исключение, то для текущего агента выполнения блокировка не должна быть получена.

Return type: bool.

Returns: true если блокировка была приобретена, false иначе.