◐ Shell
clean mode source ↗

std::shared_lock<Mutex>::try_lock_until - cppreference.com

提供: cppreference.com

<tbody> </tbody>

template< class Clock, class Duration > bool try_lock_until( const std::chrono::time_point<Clock,Duration>& timeout_time );

(C++14以上)

紐付けられているミューテックスの共有モードでのロックを試みます。 指定された timeout_time に達するか、ロックを取得するか、いずれかが先に発生するまでブロックします。 ロックの取得に成功すれば true を返し、そうでなければ false を返します。 timeout_time に達するまでより長くブロックする可能性があります。

実質的に mutex()->try_lock_shared_until(timeout_time) を呼びます。

紐付けられているミューテックスがない場合、またはミューテックスがすでにロックされている場合、 std::system_error が投げられます。

引数

timeout_time - ブロックする最大時間

戻り値

ミューテックスの所有権の取得に成功した場合 true、そうでなければ false

例外

  • mutex()->try_lock_shared_for(timeout_time) によって投げられるあらゆる例外。
  • 紐付けられているミューテックスがない場合、エラーコード std::errc::operation_not_permitted を持つ std::system_error
  • ミューテックスがすでにロックされている場合、エラーコード std::errc::resource_deadlock_would_occur を持つ std::system_error

関連項目